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

1 回复

更多关于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,这与微信小程序的行为不同。

解决方案建议:

  1. 直接使用QQ小程序的原始API qq.getUserInfo来获取用户信息,这样能确保获取到完整的返回数据,包括signature。

  2. 或者,可以在用户授权后,从授权成功的回调中直接获取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)
  }
})
回到顶部