step 1 只能使用button实现 弹框<button open-type="getUserInfo" bindgetuserinfo='getU'>123</button>
点击这个button才会跳出那个授权的框 :
授权弹框
如果用户点了拒绝,那么下一次点击还会跳出授权的弹窗。如果用户已经同意,那么再次点击不会跳出弹框。但是依然会返回e.detail
step 2 handler
getU:function(e){
console.log(e,'eee')
console.log(e.detail.errMsg)
var status=e.detail.errMsg;//判断拒绝还是同意的一个状态
if(status=='getUserInfo:fail auth deny'){//此时用户点击了拒绝
}
if(status=='getUserInfok'){//此时用户点击了同意授权
}
},
用户点击拒绝的处理方式可以有三种:
方式1:just 弹框提醒
if (status == 'getUserInfo:fail auth deny') {//此时用户点击了拒绝
wx.showToast({
title: '登陆失败,请重新登陆',
icon:"none"
})
}
方式2:再跳出一个弹窗,并且上边增加一个getuserInfo的button然后来再次让用户点击。
优点是:用户可以一气呵成的操作,不至于走回头路。
缺点:写代码会更多一些。
方式3:通过getSetting与openSetting让用户手动去开。 |