問題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('用戶拒絕授權')
// 通常會在這里彈出模態框,引導用戶點擊允許授權
}
}
以上。