问题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('用户拒绝授权')
// 通常会在这里弹出模态框,引导用户点击允许授权
}
}
以上。