微信小程序获取用户信息wx.getUserProfile(官方说又要废弃wx.getUserInfo接口)
原始的wx.getUserInfo()接口是这样用的(每个创建的小程序都有获取头像和昵称的按钮),因为在使用getUserInfo()接口时,如果我点拒绝授权,那么
hasUserInfo仍然会被执行为true,
这里就会被执行取反操作导致为false,执行else代码块,而此时又未授权,userInfo得不到,显示为一片空白;
现在改成wx.getUserProfile()这个接口
使用如下:
getUserInfo:function(){
wx.getUserProfile({
lang:"en",
desc:"获取用户信息",
success:res=>{
console.log("success")
console.log(res.userInfo)
app.globalData.userInfo = res.userInfo
this.setData({
userInfo: res.userInfo,
hasUserInfo: true
})
},
fail:res=>{
console.log("fail")
console.log(res)
this.setData({
hasUserInfo: false
})
}
})
}
效果如下:
我的是点击头像登录
点击拒绝仍然没问题,
点击允许,逻辑通了
注:鄙人刚入门微信小程序不久,文章不对之处,烦请大佬指正