我个人是这样解决的: 1.进入页面先拿一次code,用变量保存code 2.用户点击获取手机按钮时先使用wx.checkSession检查登录态,如果登录态过期,弹框报错请重试并再次获取code(避免用户进入页面之后因为某些原因超过了了5分钟之后导致code过期), 3.如果登录态没有过期,调用后端接口,成功返回数据之后,在拿一次最新code 完毕,最后成功返回数据之后再拿一次code是为了防止用户因为好奇,或者贪玩再次去获取手机号时发生code被使用过的报错
解密用户信息报错pad block corrupted解密用户信息报错,如下: 前端: [代码] [代码][代码]wx.login({[代码] [代码] [代码][代码]success: [代码][代码]function[代码] [代码](loginResp) {[代码][代码] [代码][代码]if[代码] [代码](loginResp.code) {[代码][代码] [代码][代码]//获取用户信息[代码][代码] [代码][代码]wx.getUserInfo({[代码][代码] [代码][代码]withCredentials: [代码][代码]true[代码][代码],[代码][代码] [代码][代码]success: [代码][代码]function[代码] [代码](res) {[代码][代码] [代码][代码]//封装登陆需要的参数[代码][代码] [代码][代码]var[代码] [代码]params = {};[代码][代码] [代码][代码]params.code = loginResp.code;[代码][代码] [代码][代码]params.encryptedData = res.encryptedData;[代码][代码] [代码][代码]params.iv = res.iv;[代码][代码] [代码][代码]//调用登陆接口[代码][代码] [代码][代码]that.sendRequest({[代码][代码] [代码][代码]url: [代码][代码]'/login'[代码][代码],[代码][代码] [代码][代码]data: params,[代码][代码] [代码][代码]success: [代码][代码]function[代码] [代码](res) {[代码][代码] //cache userInfo...[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码][代码] [代码][代码]},[代码][代码] [代码][代码]fail: [代码][代码]function[代码] [代码](e) {[代码][代码] [代码][代码]console.log(e);[代码][代码] [代码][代码]}[代码][代码] [代码][代码]});[代码][代码] [代码][代码]} [代码][代码]else[代码] [代码]{[代码][代码] [代码][代码]console.log([代码][代码]'获取用户登录态失败!'[代码] [代码]+ res.errMsg)[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码] [代码][代码]});[代码] 后台步骤: 1) 跟据code换取用户session_key 拼接url参数:https://api.weixin.qq.com/sns/jscode2session?appid=xxx&secret=xxxx&js_code=xxxx&grant_type=authorization_code 请求方式:http get 返回结果: {"session_key":"xxxxxxxx","openid":"xxxxxxxxxx"} 2) 使用解密工具类解密出明文,使用:AES/CBC/PKCS7Padding AES方式解密 参数:encryptedData、sessionKey、iv 结果: javax.crypto.BadPaddingException: pad block corrupted 但是紧接着第二次再走以上流程是可以正常解出明文用户信息的 过会再走以上流程第一次请求又是报这个错误
2021-05-28有谁的被注销能不能回答一下子
微信公众号被永久封禁,如何注销账号?各位大神,请教下,微信公众号被永久封禁了,如何注销该账号呢?目的是想解绑管理员名额。有办法吗?[图片]
2020-08-12