bindGetUserInfo(e) {
let userInfo = e ? e.detail : '';
console.log(userInfo );
}```

- 发布:2025-09-10 16:09
- 更新:2025-09-10 16:27
- 阅读:34
产品分类: uniapp/小程序/微信
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: Windows 11 家庭中文版
HBuilderX类型: 正式
HBuilderX版本号: 4.76
第三方开发者工具版本号: 1.06.2504030
基础库版本号: 3.9.3
项目创建方式: HBuilderX
示例代码:
操作步骤:
在登录注册账号后,第二天(或待到签名超时后)首次前往登录请求获取用户信息获取到的签名signature值为超时失效的签名值。在后续获取到的signature值就为更新后的有效签名值。
附件为在签名失效后的两次登录请求实例,第一次登录时获取到的签名为已经超时的失效签名请求登录接口导致登录失败,后续再次点击登录获取到的为更新后的有效签名值然后登录成功。后续在多次退出登录后获取到的签名值都为当前有效期内的新签名。
在登录注册账号后,第二天(或待到签名超时后)首次前往登录请求获取用户信息获取到的签名signature值为超时失效的签名值。在后续获取到的signature值就为更新后的有效签名值。
附件为在签名失效后的两次登录请求实例,第一次登录时获取到的签名为已经超时的失效签名请求登录接口导致登录失败,后续再次点击登录获取到的为更新后的有效签名值然后登录成功。后续在多次退出登录后获取到的签名值都为当前有效期内的新签名。
预期结果:
在每次请求获取用户信息获取到的签名signature值都为有效签名值,并在签名过期后获取到的签名值为新的有效签名值而不是获取一次超时的签名值之后再获取新签名值
在每次请求获取用户信息获取到的签名signature值都为有效签名值,并在签名过期后获取到的签名值为新的有效签名值而不是获取一次超时的签名值之后再获取新签名值
实际结果:
在上一个签名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>
中不会出现此情况
l***@sina.com (作者)
好的,我试试,看一下后续测试情况。那getuserinfo是否真实存在这种情况。
2025-09-10 16:36
DCloud_UNI_JBB
回复 l***@sina.com: 这个我暂时不方便验证,后续会看下
2025-09-10 16:37
l***@sina.com (作者)
回复 DCloud_UNI_JBB: 好的
2025-09-10 16:40