小程序鉴权:除开发者可以正常获得用户信息外,其他用户均不能获取用户信息
wx.cloud.callFunction({
name: 'login',
data: {},
success: res => {
console.log('[云函数] [login] user openid: ', res.result.openid)
app.globalData.openid = res.result.openid
// 获取用户信息
wx.getSetting({
success: res => {
if (res.authSetting['scope.userInfo']) {
// 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
wx.getUserInfo({
success: res => {
this.setData({
avatarUrl: res.userInfo.avatarUrl,
name: res.userInfo.nickName
})
app.globalData.s_name = res.userInfo.nickName
}
})
}
}
})
你这段代码应该放在 <button open-type="getUserInfo" 下执行,否则用户未授权的情况下会 getUserInfo失败
看看你的数据库权限,我之前遇到过类似的问题,发现是云开发数据库的权限问题