导致问题的原因是 getUserInfo 放在了 wx.login 之前。 getUserInfo 获清和取到 iv 和 encryptedData 传给后台。wx.login调用时用户的 session_key 可能会被更新而致使旧 session_key 失效。这样后台再去解密的时候就等于在用新的 session_key 去解密旧的 session_key 加密的数据,就会报 ILLEGAL_BUFFER 错误。
正常的流程应该是:
很容易错写成在 wx.getUserInfo 的回调里再调 wx.login 拿 code 再发送给服务器,局携这样 getUserInfo 里的 data 加密用的session_key就有可能跟解密的时候的 session_key 不一致,因为 wx.login 有可能会刷新了 session_key
建议开发者提前进行 login;或者在回调中先使用 checkSession 进行登录态检查,避免 login 刷新登录答腊盯态。
微信小程序显示键袜登录失败并提示睁手“请用原设备提交”的情况,通常是因为登录的微信账号在其他设备上已经登录过,而微信限制同一账号只能在一台设备上同时登录。解决办法如下:1.确保当前设备和之前登录的设备是同一台设备。
2.如果确实是同一台设备,可以尝试在其他设备上登出微信账号,然后重新在当前设备上进行微信小程序的登录。
3.如果以上两种方法都没有解决问题,可以尝试卸载微信客户端,重新安装并登录微信账号。
4.如果以上方法都无法解决问题,可以尝试联系微信客服,寻求更详细的帮助和解决方案。稿早激
总之,要解决微信小程序登录失败提示“请用原设备提交”的问题,关键是要确保同一微信账号只在一台设备上同时登录。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)