小程序?qū)W習(xí)筆記

//判斷用戶授權(quán)

wx.getSetting({
    success : (res) => {
    if(res.authSetting['scope.userInfo']){
        wx.getUserInfo({
            success : (res) =>{
                this.onLoginSuccess({
                detail : res.userInfo
            })
        }
        })
    }else{
        this.setData({
        modalShow : true
        })
    }
    }
})

//設(shè)置授權(quán)按鈕

<view slot = "modal-content">
    <button class="login" 
    open-type="getUserInfo" bindgetuserinfo="onGotUserInfo">獲取微信授權(quán)信息</button>
</view>

//授權(quán)方法

  methods: {
    onGotUserInfo(event){
      console.log(event)
      const userInfo = event.detail.userInfo
      //允許授權(quán)
      if (userInfo){
        this.setData({
          modalShow:false
        })
        this.triggerEvent('loginSuccess', userInfo)
      }else{
        //授權(quán)失敗
        this.triggerEvent('loginFail')
      }
    }
  }
})

onLoginSuccess(event){
    const detail = event.detail
    wx.navigateTo({
        url: `../blog-edit/blog-edit?nickName=${detail.nickName}&avatarUrl=${detail.avatarUrl}`,
    })
},

onLoginFail(){
    wx.showModal({
        title:'授權(quán)失敗'
    })
},

//具名插槽

----------------------------------------------------------

微信小程序wx.login()、wx.getSetting、wx.getUserInfo的區(qū)別和聯(lián)系

1、wx.login
前端使用wx.login是獲取登錄憑證(code),將code發(fā)送給后臺(tái),后臺(tái)向微信發(fā)送請(qǐng)求獲取用戶的唯一標(biāo)識(shí)(openid)及本次登錄的會(huì)話密鑰(session_key),然后后臺(tái)傳回前臺(tái)自定義的登錄狀態(tài),以及自定義的用戶唯一標(biāo)識(shí)

2、wx.geUserInfo
wx.getuserinfo是為了獲取用戶的相關(guān)信息

3、wx.getSetting
wx.getsetting是獲取用戶的當(dāng)前設(shè)置。返回值中只會(huì)出現(xiàn)小程序已經(jīng)向用戶請(qǐng)求過的權(quán)限

4、關(guān)系
所以三者之間的邏輯如下:
wx.login是用戶進(jìn)入app就要調(diào)用的
wx.getusrinfo是需要獲取用戶信息時(shí)調(diào)用的(當(dāng)然如果你一開始就想要用戶的信息也可以一開始就調(diào)用),且使用時(shí)需要配合wx.getsetting來使用:
使用wx.getsetting來判斷用戶是否已經(jīng)授權(quán)你的小程序獲取用戶的信息,
如果已經(jīng)授權(quán)的話,直接使用wx.getUserinfo來獲取用戶信息
如果沒有授權(quán),需要使用一個(gè)按鈕來獲取用戶授權(quán)

<button open-type="getUserInfo" bindgetuserinfo="onGotUserInfo" >獲取用戶信息</button>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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