出错场景
微信小程序的一键登录,授权获取用户的手机号,进行注册。
每一个新的用户在第一次进入小程序进行一键登录的时候都会报错,当第一次报错退出小程序,第二次进入时能够顺利的进行一键登录。
后台Java报出的错误原因
wxsp login api aesCbcUtil error info: pad block corrupted
报错原因
getUserInfo和getPhoneNumber接口在调用之前必须先调用login接口。
getUserInfo
getPhoneNumber
调用顺序
WXML
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"> </button>
JS
Page({
onLoad(){
this.getLogin();
},
getLogin(){
wx.login({
success: res => {
this.setData({code: res.code})
},
fail: res => {
this.wetoast.toast({ title: res.err_desc });
}
})
},
getPhoneNumber(e) {
console.log(e.detail.errMsg)
console.log(e.detail.iv)
console.log(e.detail.encryptedData)
app.globalMethod.GET({
url: urlList.getOpenidUrl,
data: {
code: this.data.code
},
success: res => {
if (res.data.code == '200') {
} else {
this.wetoast.toast({ title: res.data.message });
}
}
})
}
})
注意
在回调中调用 wx.login 登录,可能会刷新登录态。此时服务器使用 code 换取的 sessionKey 不是加密时使用的 sessionKey,导致解密失败。建议开发者提前进行 login;或者在回调中先使用 checkSession 进行登录态检查,避免 login 刷新登录态。
下载
我的博客,欢迎交流!
我的CSDN博客,欢迎交流!
微信小程序专栏
前端笔记专栏
微信小程序实现部分高德地图功能的DEMO下载
微信小程序实现MUI的部分效果的DEMO下载
微信小程序实现MUI的GIT项目地址
微信小程序实例列表
前端笔记列表
游戏列表
请发表评论