原始的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
})
}
})
}
效果如下:
我的是點擊頭像登錄
點擊拒絕仍然沒問題,
點擊允許,邏輯通了
注:鄙人剛入門微信小程序不久,文章不對之處,煩請大佬指正