一、 小程序用户重新授权案例
做连锁店小程序开发时,
需要用户授权,
获得用户的经纬度坐标,
来确定哪个店面离用户最近,
方便用户导航或者向用户送货之类的功能。
像这种需要用户授权后才能使用某项功能,
在小程序开发中是经常遇到的,
类似经常用到的还有用户信息授权,图片或视频保存到相册授权。
二、 用户拒绝授权的处理
但是会遇到用户拒绝授权的情况,
这里在小程序里怎么处理才能让用户有好的体验呢?
微信小程序提供了wx.openSetting()这个接口,
可以调出一个页面,
这个页面中会展示小程序已经向用户请求过的权限,
是一个开关按钮,
非常方便用户再次重新授权。
三、 小程序wx.openSetting兼容处理
使用wx.openSetting重新授权,
需要小程序基础版本库是 1.1.0 以上,
所以需要做兼容处理,
有下面两种方式
1) 使用 if 判断
if(wx.openSetting) {
}else {
}
2) 使用 wx.canIUser()
wx.canIUser(‘openSetting’)
四、 小程序wx.openSetting权限列表
现在小程序中授权内容包括下面的项目,
都可以使用wx.openSetting重新授权。
scope 权限列表
scope | 对应接口 | 描述 |
---|---|---|
scope.userInfo | wx.getUserInfo | 用户信息 |
scope.userLocation | wx.getLocation, wx.chooseLocation | 地理位置 |
scope.address | wx.chooseAddress | 通讯地址 |
scope.invoiceTitle | wx.chooseInvoiceTitle | 发票抬头 |
scope.werun | wx.getWeRunData | 微信运动步数 |
scope.record | wx.startRecord | 录音功能 |
scope.writePhotosAlbum | wx.saveImageToPhotosAlbum, wx.saveVideoToPhotosAlbum | 保存到相册 |