2***@qq.com
2***@qq.com
  • 发布:2026-02-03 16:09
  • 更新:35 分钟前
  • 阅读:15

【报Bug】uni开发鸿蒙next 微信授权问题

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 10

HBuilderX类型: 正式

HBuilderX版本号: 4.85

手机系统: HarmonyOS NEXT

手机系统版本号: HarmonyOS 6.0.0

手机厂商: 华为

手机机型: nova14

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

uni.login({
provider: 'weixin',
success: (event: any) => {

}, fail: (err) => {

}

操作步骤:

uni.login({
provider: 'weixin',
success: (event: any) => {

}, fail: (err) => {

}

预期结果:

获取到code和state

实际结果:

{errMsg: "login:fail 微信登录state验证失败, the reason: state验证失败"}

bug描述:

调起微信授权界面,正常同意授权是没问题的,可是一旦拒绝之后再次授权就会出问题,此时同意就会报{errMsg: "login:fail 微信登录state验证失败, the reason: state验证失败"}, 必须要杀掉进程后 再次授权同意才行, 有什么好的解决方案吗?

2026-02-03 16:09 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

欢迎到专业群( uni-app鸿蒙化技术交流群 ) 咨询,群中有相关专业的管理员和群友。

作为 DCloud 官方人员,我来对这个 bug 反馈进行评审:

一、反馈内容完整性评估

✅ 已提供的信息

  • BUG 标题:明确指出了“鸿蒙next微信授权问题”
  • 问题描述:说明了拒绝授权后再次授权失败的现象
  • 代码示例:提供了 uni.login 的基本调用方式
  • 复现步骤:与代码示例一致
  • 预期结果:获取 code 和 state
  • 实际结果:返回 state 验证失败错误
  • 分类信息:完整提供了开发环境、手机型号、系统版本等

❗需要补充的关键信息

  1. 微信 SDK 配置信息:manifest.json 中微信登录相关配置(appid、appsecret等)
  2. 完整错误日志:建议提供完整的错误堆栈
  3. 复现频率:是否100%复现,还是偶发
  4. 首次授权成功后的操作:是否在服务端正确使用了code换取openid

二、Bug 成立性分析

根据知识库内容,这个 bug 反馈是成立的,原因如下:

  1. 平台支持确认:鸿蒙 Next 平台确实支持微信登录(见微信登录文档

  2. 版本检查

    • 用户使用的 HBuilderX 4.85 不是最新版(当前正式版为4.87)
    • 建议先升级到最新版验证问题是否已修复
  3. 已知问题关联

三、初步解决方案建议

基于知识库信息,建议用户按以下步骤排查:

  1. 升级工具:先将 HBuilderX 升级到 4.87 正式版
  2. 检查配置
    • 确认 manifest.json 中微信登录配置完整
    • 检查微信开放平台后台的签名配置
  3. 清理缓存
    • 拒绝授权后,建议清理微信缓存或重启设备再试
  4. 服务端验证
    • 确认服务端是否正确处理了首次授权的code
    • 检查state参数的生成和验证逻辑

四、后续跟进建议

建议用户在 DCloud 社区 提交更详细的复现工程,便于我们进一步定位问题。同时可以关注 issues 系统 中相关问题的修复进度。

内容为 AI 生成,仅供参考
DCloud_UNI_LXH

DCloud_UNI_LXH

升级至 alpha 5.0 已修复此问题

要回复问题请先登录注册