微信小程序之登錄

  1. 直接獲取用戶數(shù)據(jù)
      wx.getUserInfo({
        success: function (res) {
          var userInfo = res.userInfo
          console.log("獲取登錄用戶的所有信息")
          console.log(res.userInfo)
          }
        })
  1. 如果用戶拒絕,提示模態(tài)框,點(diǎn)擊確定,進(jìn)入設(shè)置,再次讓用戶選擇允許。
    fail: function (res) {
          wx.showModal({
            title: '提示',
            content: '獲取用戶信息失敗,這將影響您使用小程序,是否重新設(shè)置授權(quán)?',
            showCancel: true,
            cancelText: "否",
            confirmText: "是",
            success: function (res) {
              if (res.confirm) {   //點(diǎn)擊是
                wx.openSetting({  //打開設(shè)置
                  success: function (res) {
                    console.log(res)
                    if (res.authSetting['scope.userInfo'] === true) {
                      wx.getUserInfo({
                        success: function (res) {
                          console.log("重新登錄成功")
                          var userInfo = res.userInfo
                          var 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('用戶取消授權(quán)個(gè)人信息');
              }
            }   
初始狀態(tài)
點(diǎn)擊登錄

如果點(diǎn)擊允許

從微信后臺(tái)獲取到的信息

前臺(tái)解析并顯示

得到用戶名和頭像

如果點(diǎn)擊拒絕,讓你重新選擇


顯示模態(tài)框

點(diǎn)擊是,就進(jìn)入設(shè)置界面


進(jìn)入設(shè)置界面

點(diǎn)擊勾選,返回即可登錄。

loginwx: function() {
    var that = this
    if(that.data.isLogin == false)
    {
      wx.getUserInfo({
        success: function (res) {
          var userInfo = res.userInfo
          var 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: '獲取用戶信息失敗,這將影響您使用小程序,是否重新設(shè)置授權(quán)?',
            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.userInfo
                          var 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('用戶取消授權(quán)個(gè)人信息');
              }
            }
          })
        }
      })
    }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容