查了一下,getuserinfo获取到的加密信息解密时会有几率失败,请问各位大佬有没有什么好的解决方法!!!!!!急!!!!!!!!!!!!!!!!
这个问题我已经彻底解决了,其实方案很简单,换一下思路就好了!
在按钮的getuserinfo事件中首先判断是否选择同意,代码如下:
const eUserRes = e && e.detail
if (!eUserRes.iv || !eUserRes.encryptedData) {
return
}
这里会直接判断是否同意授权,如果选择拒绝,程序就不会再往下走了
接下来调用login和useinfo:
try {
wx.login({
success: function (login) {
wx.getUserInfo({
success: function (userRes) {
const params = {
js_code: login.code,
encrypted_data: userRes.encryptedData,
iv: userRes.iv
}
// 业务自己的登录逻辑在这儿写
}
})
}
})
} catch (error) {
console.log(‘登录失败’)
}
这么做百分百不会再有失败的情况了,希望能帮到大家