(uniapp)小程式拒絕授權手機號登入但依舊登入的解決方案
阿新 • • 發佈:2020-10-28
問題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('使用者拒絕授權') // 通常會在這裡彈出模態框,引導使用者點選允許授權 } }
以上。