因为当下在做的小程序功能必须获取用户信息才能操作,所以在index页面就弹用户授权了,此处参考了。文章中提到一点开小程序就弹用户授权多少会对用户造成一定的心里压力,所以大家还是按照自己的需要来。如果有不一样的思路欢迎交流 :)
首先在首页拒绝了授权之后呢,会拉起一个模态弹窗,这点和上边那篇文章中一样的。
如果用户拒绝了授权,则会弹出:
上步中已经提到,需要用户到另一个tab中再点击一个按钮,为什么要这么设置呢。主要是因为单单靠用户点击右上角来设置这个授权有那么一些麻烦,因为需要经以下这些步骤:
……一看到就已经想手动再见了
所以我选择在【我的】这个tab中添加一个用户未授权时才能看到的button,点击了这个神奇的button,就能再次选择是否授权。
这个button暂时长这样:
先别急着吐槽按钮丑,看码:
我在这个页面中首先加了一个叫做noAuthorized的变量,它的默认值是true,代表【是的,就是没授权咋地了?】
给这个按钮绑定的事件:
content: '如需正常使用小程序,请点击授权按钮,勾选用户信息并点击确定。',如此前提到的文中所说,小程序提供了wx.openSetting(OBJECT)和wx.getSetting(OBJECT),前者可以调起客户端小程序设置界面,返回用户设置的操作结果,后者可以获取用户当前设置。由于此处已经调用了openSetting可以返回操作结果进行判断,所以第二个就用不上了。
点击授权按钮后,先弹出:
如果勾选了用户信息并点击了确定,则setdata后页面刷新,按钮消失,显示用户头像昵称等信息。
总觉得一直在用比较暴力的手法让用户授权是不太好的一件事情,但是确实由于产品定位的原因,缺少了用户的信息什么功能都用不了,才无奈出此下策。
不过今天也是学到了很多有关小程序的button还有setting相关的一些东西,很开星。
也希望各位看官有美好的一天嗷,大家一起学习进步 XD~
在里,使用一些接口的时候需要得到用户的授权,用户同意以后我们就可以得到相应的权限,去做一些事情。比如获取用户微信帐号相关信息,得到用户的位置,保存到相册等等。
比如我想知道用户微信帐号相关的信息。先用 wx.getSetting 检查一下用户当前对我们的小程序的授权状态,如果发现用户还没有授权小程序查看他的用户信息,就去调用 wx.authorize 弹出对话窗提醒用户是否要授权小程序得到他的用户信息。用户如果按了同意,接下来我们就可以使用 wx.getUserInfo 这个接口去得到用户相关的信息了,比如他的头像,名字等等。