微信官方是这样讲的:wx.getSetting(Object object)可获取用户的当前设置。返回值中只会出现小程序已经向用户请求过的权限。
wx.getSetting({
success (res) {
console.log(res.authSetting)
// res.authSetting = {
// "scope.userInfo": true,
// "scope.userLocation": true
// }
}
})
wx.getSetting({
success (res) {
if (res.authSetting['scope.userInfo'] == false) { //已拒绝
//如果之前用户拒绝了,这时要调用wx.openSetting()方法,给用户再选择一次的机会
}elseif( res.authSetting['scope.userInfo'] == undefined ){ //未设置
//在未设置的情况下,可以调用业务函数(如wx.getUserInfo,或wx.getLocation),系统会自动提示用户同意
}elseif( res.authSetting['scope.userInfo'] == true ){ //已授权
//如果是已授权的情况下,直接调用业务函数,系统不会再提示用户
}
}
})
通过查询微信小程序官方文档,找到一个AuthSetting对象,它有如下属性:
boolean scope.userInfo
是否授权用户信息
对应接口->wx.getUserInfo
boolean scope.userLocation
是否授权地理位置
对应接口->wx.getLocation
boolean scope.werun
是否授权微信运动步数
对应接口->wx.getWeRunData
boolean scope.writePhotosAlbum
是否授权保存到相册
对应接口->wx.saveImageToPhotosAlbum