在使用小程序时,第一次启动总会提示用户是否授权小程序使用用户的个人信息,地理位置信息以及其他手机功能的授权.
开发文档:
https://developers.weixin.qq.com/miniprogram/dev/api/authorize-index.html
API中提供的wx.authorize()方法,可以通过调用来弹出提示用户授权的弹窗.如果用户之前已经同意授权,则直接返回成功,不会出现弹窗.其中注意,在微信已更新的版本中,使用方法获取userInfo的授权已经不会弹出弹窗.下面会一起提出.
如果不想重复设置弹窗提示用户设置,也可以使用API中wx.openSetting()方法打开当前小程序的设置页面,查看设置当前小程序的授权情况.但是注意,设置界面只会出现小程序已经向用户请求过的权限,所以,用户第一次使用要求授权时不可以使用如下方法.注意,wx.openSetting()方法马上要废弃,建议使用button组件替换.文档链接:https://developers.weixin.qq.com/miniprogram/dev/api/setting.html
建议在获取授权提示时同时活用wx.getSetting()方法.可以获取当前小程序的权限状态,之后再有针对性的个别处理.注意:返回值中只会出现小程序已经向用户请求过的权限,同意或者拒绝都会出现。
在获取用户的诸多信息时,官方API也有提供方法.获取用户信息:wx.getUserInfo(),获取用户绑定的手机号:getPhoneNumber().在使用这两个方法时会先查询用户是否已经授权.在之前版本,调用方法时用户如果未授权,则会出现授权弹窗.在当前版本,微信为了提升用户体验,将上述这两个方法改为用户主动触发(使用button组件出发,具体看文档),且调用方法不出现提示弹窗.文档链接: https://developers.weixin.qq.com/miniprogram/dev/api/open.html#wxgetuserinfoobject https://developers.weixin.qq.com/miniprogram/dev/api/getPhoneNumber.html
在授权方面,微信一直在提升用户体验,提倡用户掌握使用权.之前这种授权提示都会由调用方法弹出,之后全部都会修改为由用户主动激发.建议大家尽早更改或者做兼容处理.