- 直接獲取用戶數據
wx.getUserInfo({success: function (res) {var userInfo = res.userInfoconsole.log("獲取登錄用戶的所有信息")console.log(res.userInfo)}})
復制代碼
- 如果用戶拒絕,提示模態框,點擊確定,進入設置,再次讓用戶選擇允許。
fail: function (res) {wx.showModal({title: '提示',content: '獲取用戶信息失敗,這將影響您使用小程序,是否重新設置授權?',showCancel: true,cancelText: "否",confirmText: "是",success: function (res) {if (res.confirm) { //點擊是wx.openSetting({ //打開設置success: function (res) {console.log(res)if (res.authSetting['scope.userInfo'] === true) {wx.getUserInfo({success: function (res) {console.log("重新登錄成功")var userInfo = res.userInfovar nickName = userInfo.nickName //用戶名var avatarUrl = userInfo.avatarUrl //頭像console.log("獲取登錄用戶的所有信息")console.log(res.userInfo)that.setData({imageInfo: avatarUrl,userName: nickName,hasUserInfo: true,isLogin: true,})t.globalData.imageInfo = avatarUrl;//全局變量表示登錄用戶頭像t.globalData.userName = nickName;//登錄用戶名}}) }}})} else if (res.cancel) {console.log('用戶取消授權個人信息');}}
復制代碼
如果點擊允許
前臺解析并顯示
如果點擊拒絕,讓你重新選擇
點擊勾選,返回即可登錄。
loginwx: function() {var that = thisif(that.data.isLogin == false){wx.getUserInfo({success: function (res) {var userInfo = res.userInfovar nickName = userInfo.nickName //用戶名var avatarUrl = userInfo.avatarUrl //頭像console.log("獲取登錄用戶的所有信息")console.log(res.userInfo)// wx.showToast({// title: nickName,// });that.setData({imageInfo: avatarUrl,userName: nickName,hasUserInfo: true,isLogin: true,})t.globalData.imageInfo = avatarUrl;//全局變量表示登錄用戶頭像t.globalData.userName = nickName;//登錄用戶名},fail: function (res) {wx.showModal({title: '提示',content: '獲取用戶信息失敗,這將影響您使用小程序,是否重新設置授權?',showCancel: true,cancelText: "否",confirmText: "是",success: function (res) {if (res.confirm) {wx.openSetting({success: function (res) {console.log(res)if (res.authSetting['scope.userInfo'] === true) {wx.getUserInfo({success: function (res) {console.log("重新登錄成功")var userInfo = res.userInfovar nickName = userInfo.nickName //用戶名var avatarUrl = userInfo.avatarUrl //頭像console.log("獲取登錄用戶的所有信息")console.log(res.userInfo)that.setData({imageInfo: avatarUrl,userName: nickName,hasUserInfo: true,isLogin: true,})t.globalData.imageInfo = avatarUrl;//全局變量表示登錄用戶頭像t.globalData.userName = nickName;//登錄用戶名}}) }}})} else if (res.cancel) {console.log('用戶取消授權個人信息');}}})}})}
復制代碼