uni-app 小程序端 button 获取用户信息(getuserinfo)在签名失效后首次获取到的签名为已经失效的签名(signature)
uni-app 小程序端 button 获取用户信息(getuserinfo)在签名失效后首次获取到的签名为已经失效的签名(signature)
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | 11 家庭中文版 | HBuilderX |
产品分类:uniapp/小程序/微信
示例代码:
bindGetUserInfo(e) {
let userInfo = e ? e.detail : '';
console.log(userInfo);
}
操作步骤:
在登录注册账号后,第二天(或待到签名超时后)首次前往登录请求获取用户信息获取到的签名signature值为超时失效的签名值。在后续获取到的signature值就为更新后的有效签名值。
附件为在签名失效后的两次登录请求实例,第一次登录时获取到的签名为已经超时的失效签名请求登录接口导致登录失败,后续再次点击登录获取到的为更新后的有效签名值然后登录成功。后续在多次退出登录后获取到的签名值都为当前有效期内的新签名。
预期结果:
在每次请求获取用户信息获取到的签名signature值都为有效签名值,并在签名过期后获取到的签名值为新的有效签名值而不是获取一次超时的签名值之后再获取新签名值
实际结果:
在上一个签名signature值过期后,首次获取到的签名signature值为过期的signature值导致登录失败,但在后续新签名有效期内获取的签名才为有效签名
bug描述:
在与后端多日的比对查找bug时观察到:使用<button open-type="getUserInfo" @getuserinfo="bindGetUserInfo"> 获取签名 </button>获取签名signature时首次必定会获取到已经超时的签名参数。在首次获取到失效的签名signature后并且在新签名有效期内,每次获取到的签名signature都为正确的。
在原生小程序<button type="primary" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo"> 获取签名 </button>中不会出现此情况
更多关于uni-app 小程序端 button 获取用户信息(getuserinfo)在签名失效后首次获取到的签名为已经失效的签名(signature)的实战教程也可以访问 https://www.itying.com/category-93-b0.html
试试用 wx.getUserInfo 获取 userinfo
更多关于uni-app 小程序端 button 获取用户信息(getuserinfo)在签名失效后首次获取到的签名为已经失效的签名(signature)的实战教程也可以访问 https://www.itying.com/category-93-b0.html
好的,我试试,看一下后续测试情况。那getuserinfo是否真实存在这种情况。
回复 l***@sina.com: 这个我暂时不方便验证,后续会看下
回复 DCloud_UNI_JBB: 好的
回复 DCloud_UNI_JBB: 使用wx.getUserInfo问题依旧存在
回复 l***@sina.com: 你的这块代码怎么写的
回复 DCloud_UNI_JBB: wx.getUserInfo({ success: function(e) { uni.login({ success(wxcode) { const loginCode = wxcode.code; let userInfo = e; userInfo.userInfo.mobile = _this.baseForm.mobile; const reqLogin = { tenantId: 1, code: loginCode, userData: userInfo, systemType: ‘mini’, wechatDto: { code: loginCode, tenantId: 1, userData: userInfo, }, }; console.log(reqLogin) } }) }, })
回复 l***@sina.com: 怎么调起的这块内容
回复 DCloud_UNI_JBB: <button class=“btnText pfr” open-type=“getUserInfo” @getuserinfo=“bindGetUserInfo”> 登录 </button> 因为昨天把获取用户信息改成了 wx.getUserInfo获取所以没有用按钮获取所携带的用户信息了
回复 l***@sina.com: im中私聊


