uni-app QQ小程序授权后 uni.getUserInfo 返回的 signature 是 undefined undefined undefined
uni-app QQ小程序授权后 uni.getUserInfo 返回的 signature 是 undefined undefined undefined
项目信息 | 详情 |
---|---|
产品分类 | uniapp/小程序/QQ |
PC开发环境操作系统 | Windows |
PC开发环境操作系统版本号 | 10 |
HBuilderX类型 | 正式 |
HBuilderX版本号 | 3.1.3 |
第三方开发者工具版本号 | 0.3.1 |
基础库版本号 | 1.6.3 |
项目创建方式 | HBuilderX |
操作步骤:
- 点击授权按钮后同意授权,然后再通过 uni.getUserInfo 的 success 回调里的 signature 字段为undefined
预期结果:
- 应当存在值
实际结果:
- 没有值为undefined
bug描述:
uniapp QQ小程序端授权登陆,同意授权之后再通过 uni.getUserInfo 的 success 回调中的 signature 字段为 undefined ,导致后端无法hex校验,授权必定失败。但点击授权按钮的返回值里存在 signature 字段,通过API获取就undefined了
更多关于uni-app QQ小程序授权后 uni.getUserInfo 返回的 signature 是 undefined undefined undefined的实战教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于uni-app QQ小程序授权后 uni.getUserInfo 返回的 signature 是 undefined undefined undefined的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是一个QQ小程序在uni-app中的已知问题。在QQ小程序中,uni.getUserInfo返回的signature字段确实可能为undefined,这与微信小程序的行为不同。
解决方案建议:
-
直接使用QQ小程序的原始API qq.getUserInfo来获取用户信息,这样能确保获取到完整的返回数据,包括signature。
-
或者,可以在用户授权后,从授权成功的回调中直接获取signature,而不是通过uni.getUserInfo再次获取。
代码示例:
// 使用QQ原生API
qq.getUserInfo({
success(res) {
console.log(res.signature) // 这里应该能获取到正确的signature
}
})
// 或者从授权回调中获取
uni.login({
provider: 'qq',
success(res) {
// 这里可以获取到signature
console.log(res.signature)
}
})