共计 847 个字符,预计需要花费 3 分钟才能阅读完成。
wx.getUserInfo(OBJECT) 注意:此接口有调整,使用该接口将不再出现授权弹窗,请使用
<button open-type=”getUserInfo”></button>
引导用户主动进行授权操作当用户未授权过,调用该接口将直接报错 当用户授权过,可以使用该接口获取用户信息
所以我们要使用上述 button 来请求用户授权
1.index.wxml
<button
wx:if=”{{canIUse}}”
open-type=”getUserInfo”
bindgetuserinfo=”bindGetUserInfo”
> 授权登录 </button>
<view wx:else> 请升级微信版本 </view>
2.index.js
Page({
data: {
// 判断小程序的 API,回调,参数,组件等是否在当前版本可用。
canIUse: wx.canIUse(‘button.open-type.getUserInfo’)
},
onLoad: function () {
// 查看是否授权
wx.getSetting({
success: function (res) {
if (res.authSetting[‘scope.userInfo’]) {
wx.getUserInfo({
success: function (res) {
console.log(res.userInfo)
// 用户已经授权过
}
})
}
}
})
},
bindGetUserInfo: function (e) {
console.log(e.detail.userInfo)
if (e.detail.userInfo) {
// 用户按了允许授权按钮
} else {
// 用户按了拒绝按钮
}
}
})
注:如果未出现微信授权的弹窗,则可能是因为之前授权的缓存导致的,因为只有未授权才会出现弹窗,清除缓存即可参考:https://blog.csdn.net/weixin_…https://blog.csdn.net/weidong…https://www.cnblogs.com/legen…