1. 程式人生 > 實用技巧 >(uniapp)小程式拒絕授權手機號登入但依舊登入的解決方案

(uniapp)小程式拒絕授權手機號登入但依舊登入的解決方案

問題1: 如圖:當用戶登入時點選拒絕授權手機號登入,但事實跳轉登入

原因: 在getphonenumber函式內沒有根據使用者點選狀態進行判斷

問題2: 根據使用者點選拒絕時的回顯資訊判斷使用者點選了拒絕授權 但依舊登入
e.detail.errMsg == “getPhoneNumber:fail user deny ”

原因: 受機型影響,使用者點選拒絕授權時的errmsg各不相同,且真機與模擬器返回的errmsg也各不相同,因而不能根據拒絕授權時的資訊來判斷使用者點選了授權,筆者這邊使用的辦法如下:

//點選微信授權獲取手機號按鈕
getphonenumber(e){
      console.log(e,'手機號')
      if(e.detail.errMsg ===  "getPhoneNumber:ok" ){
            //這裡受機型與模擬器影響,errmsg資訊各不相同,只能判斷使用者是否點選了允許按鈕來判斷,
            console.log('使用者允許授權')
           // code...
      }else{
            //如果沒有走以上,均為點選了拒絕授權
            console.log('使用者拒絕授權')
            // 通常會在這裡彈出模態框,引導使用者點選允許授權
      }


}

以上。