nottobad
nottobad
  • 发布:40 分钟前
  • 更新:39 分钟前
  • 阅读:30

【报Bug】鸿蒙系统一键登录提示-20203错误

分类:鸿蒙Next

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: window10 22H2

HBuilderX类型: 正式

HBuilderX版本号: 5.26

手机系统: HarmonyOS NEXT

手机系统版本号: HarmonyOS 6.0.0

手机厂商: 华为

手机机型: nova13

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
    // #ifdef APP-HARMONY  
                // 鸿蒙使用 univerifyManager 进行预登录  
                let manager = uni.getUniverifyManager();  
                if (manager && typeof manager.preLogin === 'function') {  
                    manager.preLogin({  
                        success: preLoginSuccess,  
                        fail: preLoginFail  
                    })  
                } else {  
                    preLoginFail({  
                        errCode: -1,  
                        errMsg: '当前环境不支持一键登录'  
                    })  
                }  
                // #endif

操作步骤:

进行“一键登录”预登录

预期结果:

成功反馈预登录

实际结果:

返回失败:

{  
    "name": "UniError",  
    "errSubject": "uni-verify",  
    "errCode": 30005,  
    "errMsg": "prelogin error",  
    "cause": {  
        "subject": "gysdk",  
        "code": -20203,  
        "gyuid": "gtc_d70e311debf6deb7f66fdfa3647265b333",  
        "processID": "30e35aedbb94e9fbd34f44d559a2f682",  
        "operatorType": 0,  
        "cause": {  
            "subject": "其他",  
            "code": -1  
        }  
    }  
}

bug描述:

使用“一键登录”,进行鸿蒙真机调试,一键登录的“应用管理”已添加鸿蒙信息,并通过运营商审核。
使用Hbuilder x 运行到鸿蒙手机(鸿蒙next6.1.0,卡是实体移动卡),进行一键登录的预登录,返回错误

{  
    "name": "UniError",  
    "errSubject": "uni-verify",  
    "errCode": 30005,  
    "errMsg": "prelogin error",  
    "cause": {  
        "subject": "gysdk",  
        "code": -20203,  
        "gyuid": "gtc_d70e311debf6deb7f66fdfa3647265b333",  
        "processID": "30e35aedbb94e9fbd34f44d559a2f682",  
        "operatorType": 0,  
        "cause": {  
            "subject": "其他",  
            "code": -1  
        }  
    }  
}

咨询个推,他们表示dcloud内部使用的是1.0.10版本,他们已更新 1.1.1 处理过此问题。
请帮忙是什么情况

40 分钟前 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

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

收到你的 bug 反馈,我以官方视角对这个反馈进行评审和分析:

一、反馈完整性评审

整体质量较高,关键信息基本齐全:

  • 标题与描述:清晰明确,错误信息完整(包含 errCode 30005、gysdk -20203、gyuid、processID、operatorType),这些正是一键登录排查错误时需要提供给技术支持的关键字段,便于定位。
  • 代码示例:写法正确。鸿蒙端确实应使用 uni.getUniverifyManager() 进行预登录(鸿蒙不支持通过 uni.preLogin/uni.login 调用一键登录),你也正确使用了 APP-HARMONY 条件编译。不过这只是片段,如需内部复现,建议补充说明运行方式(如是否为标准调试运行)。
  • 复现步骤:偏简单,“进行一键登录预登录”结合代码可以理解,但建议补充:预登录失败时是否开启了蜂窝数据流量、是否同时连接 WiFi、manifest 中鸿蒙包名配置情况。
  • 预期结果与实际结果:预期合理,实际结果有完整错误输出,不属于误报。
  • 分类信息:完整(HBuilderX 5.26 正式版、HarmonyOS NEXT 6.0.0、Vue3、华为 nova13、Windows 10)。

二、问题分析

根据一键登录错误码文档,errCode 30005 表示“预登录失败”,处理方案为“不具备一键登录的使用前提,设备不支持/未开启数据流量/其他原因”。官方文档同时明确:如果手机没有插入有效的 SIM 卡,或者手机蜂窝数据网络关闭,都有可能造成预登录校验失败。你提到使用实体移动卡,但未说明预登录时移动数据流量是否开启——一键登录取号依赖运营商数据网络,仅连 WiFi 是不够的,这是需要优先补充确认的点。

内层 gysdk -20203(“当前环境不适合一键登录”)在 ask 社区有类似案例(iOS 端),当时的排查结论是:检查手机卡是否欠费、是否开启流量,都正常的话开关一下飞行模式即可恢复,可参考 社区案例。

关于你提到的个推反馈“DCloud 内部使用 1.0.10 版本,个推已更新 1.1.1 处理此问题”:这个线索很有价值,但个验 SDK 的集成版本属于 DCloud 与个推之间的集成信息,我这边无法直接核实,需要提交研发确认。同时社区中确实有其他开发者在鸿蒙 6.0.0 上反馈过 preLogin 返回 3005 的类似现象,说明该问题可能并非个例,我们会持续跟进。

三、建议的排查与推进方式

  1. 先按环境因素自查:确认移动数据流量已开启(可关闭 WiFi 仅用流量测试)、开关飞行模式后重试、确认手机卡为正常运营商卡且未欠费。
  2. 确认 manifest 中已配置 uniCloud“一键登录 -> 应用管理”中添加的鸿蒙应用包名(鸿蒙调试必须在应用管理添加应用并将包名配置到 manifest,否则运行会报错),可参考 HarmonyOS 使用 getUniverifyManager 注意事项。
  3. 若环境确认无误仍稳定复现,请保留错误信息中的 gyuid(gtc_d70e311debf6deb7f66fdfa3647265b333)和 processID(30e35aedbb94e9fbd34f44d559a2f682),回到本帖回复补充上述自查结果,或到 uni-app鸿蒙化技术交流群 咨询,群中有相关专业的管理员和群友。我们会结合个推侧的版本信息进一步核实是否存在 SDK 版本适配问题。

相关文档参考:

  • 一键登录错误码:https://uniapp.dcloud.net.cn/univerify.html#错误码
  • 预登录说明:https://uniapp.dcloud.net.cn/univerify.html#客户端-预登录-可选
内容为 AI 生成,仅供参考

要回复问题请先登录或注册