错误描述用户登录微信小程序,初始登录会报错,接着再登录,就会登录成功。后端catch住的异常抛异常原因小程序客户端调用微信服务器的接口顺序反了。小程序客户端需要调用微信服务器的wx.login接口来获取code,然后调用wx.getUserInfo来获取加密数据和偏移向量iv。正确的顺序应该是先调用login,然后再调用getUserInfo。而公司代码先调用了getUserInfo获取了解密数据,然后又调用的login,就会刷新登录态,这样获取的code换取的解密秘钥和提前获取的加密数据的加密秘钥就可能不一致的,所以无法成功解密。错误代码//先调用了getUserInfo,获取用户信息 bindGetUserInfo: function (e) { // console.log(e) wx.showToast({ title: ‘加载中’, icon: ‘loading’, duration: 3000 }); var that = this, userInfo = e.detail, encryptedData = userInfo.encryptedData, iv = userInfo.iv; //然后才调用了login wx.login({ success: function (res) { //用拿到的code,从后台获取sessionId wx.request({ url: sessionID, method: ‘GET’, data: { js_code: res.code, movieCode: movieCode }, header: { “Content-Type”: “application/x-www-form-urlencoded”, ‘Accept’: ‘application/json’ }, }); } });正确代码//先调用loginwx.login({ success: function (res) { //用拿到的code,从后台获取sessionId wx.request({ url: sessionID, method: ‘GET’, data: { js_code: res.code, movieCode: movieCode }, header: { “Content-Type”: “application/x-www-form-urlencoded”, ‘Accept’: ‘application/json’ }, success: function (res) { // console.log(‘sessionId:’); // console.log(res.data.resultData); // console.log(res.data.resultData); var sessionId = res.data.resultData; //从后台获取到的sessionId wx.setStorageSync(‘sessionId’, sessionId); //然后调用getUserInfo获取加密数据encryptedData和iv wx.getUserInfo({ success: function(msg){ console.log(msg); var encryptedData = msg.encryptedData, iv = msg.iv; wx.request({ url: userInfoUrl, method: ‘POST’, data: { encryptedData: encryptedData, iv: iv, sessionId: sessionId }, //代码不完整,参考者请注意。。。。结语这个问题搞了好几天,一直以为是后端的问题,一直再调整后端,直到快要放弃的时候,才发现,原来问题症结在此。所以,调用微信服务器接口的顺序一定是wx.login在前,wx.getUserInfo在后。
微信小程序登录解密异常
未经允许不得转载:E企盈小程序开发-热线:4006-838-530 » 微信小程序登录解密异常
相关推荐
微信小程临澧县E企盈小程序序面板移入移出
微信商洛E企盈小程序小程序删除功能实现
利用html5实现类似微内江E企盈小程序信的手机摇一摇功能计算摇动次数
微信小程序分组开发与左滑功能实高唐县E企盈小程序现
微信小程序使用加速计实现娄底E企盈小程序摇一摇功能(一)
微信公众号可快速创建“门卓尼县E企盈小程序店小程序”不用开发
微信小程序——VantWeapp的初步疏勒县E企盈小程序使用说明
微信小程序阳江E企盈小程序如何快速开通流量主
敏彭泽县E企盈小程序感词和谐工具——不可见字符\\u200b
微信小程序龙南县E企盈小程序分包操作
微信小程序表单:按钮通州市E企盈小程序微信开放能力与客服
小程序仿陈仓区E企盈小程序微信聊天按住说话功能
最新评论
不错的小程序案例
优秀的团队,不错的服务!
讲的很好
主播长的帅气
好系统好服务
优秀的团队
好服务,值得信赖
不错的服务