wx.getSetting
在 未拒绝 和 未同意 状态下 ,success: (res) => { } 的res.authSetting{}值是空的!
在getUserInfo()后,点击拒绝后 wx.getSetting的fail:(res)=>{}触发,
res.authSetting['scope.userInfo'] 的值是false ,表示scope.userInfo这个权限没有授权。
在getUserInfo()后,点击同意后 wx.getSetting的
success:(res)=>{}触发,
res.authSetting['scope.userInfo'] 的值是true,表示scope.userInfo这个权限已经授权。
相关示例代码:
onLaunch: function () {
// 获取用户信息
wx.getSetting({
success: res => {
if (res.authSetting['scope.userInfo']) {
// 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
wx.getUserInfo({
success: res => {
// 可以将 res 发送给后台解码出 unionId
this.globalData.userInfo = res.userInfo
// 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
// 所以此处加入 callback 以防止这种情况
if (this.userInfoReadyCallback) {
this.userInfoReadyCallback(res)
}
}
})
}
}
})
// this.checkUpdateVersion();
}