1***@qq.com
1***@qq.com
  • 发布:2026-04-05 16:31
  • 更新:2026-04-05 16:53
  • 阅读:39

【报Bug】uniappx一键登录报错,预登录报错

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 5.06

手机系统: Android

手机系统版本号: Android 16

手机厂商: vivo

手机机型: iqcoo

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
            this.uniVerifyManager?.preLogin({  
                success: (res) => {  
                    uni.hideLoading();  
                    this.phone = res.number;  
                    this.slogan = res.slogan;  
                    this.privacyName = res.privacyName as string | null;  
                    this.privacyUrl = res.privacyUrl as string | null;  
                    console.log("预登录成功,自动打开一键登录弹窗");  
                    this.login(true); // 预登录成功打开弹窗  
                },  
                fail: (err) => {  
                    const errObj = err as UniVerifyError;  
                    const cause = errObj.cause;  

                    // 如果是SDK请求超时且重试次数小于2,则重试  
                    if (cause != null && cause.code != null && cause.code === -10003 && retryCount < 2) {  
                        console.log(`预登录超时,第${retryCount + 1}次重试`);  
                        setTimeout(() => {  
                            this.preLoginWithRetry(retryCount + 1);  
                        }, 1000);  
                    } else {  
                        uni.hideLoading();  
                        console.error("预登录失败(保留验证码登录):", JSON.stringify(err));  
                        // 分析错误原因  
                        this.analyzePreLoginError(err);  
                        // 可选:上报错误日志  
                        this.reportPreLoginError(err);  
                        // 预登录失败,不影响验证码登录功能  
                    }  
                }  
            });  
        },

操作步骤:

每次点击登录的时候唤起一键登录,经常性失败,有时会成功,本地运行的时候有时会成功,打包之后,运行失败概率90%

预期结果:

预登录失败,需要知道原因,官网没有对应的失败原因

实际结果:

16:22:18.163 预登录失败(保留验证码登录): {"errCode":30005,"errMsg":"prelogin error","errSubject":"uni-verify","cause":{"name":"Error","message":"{\"gyuid\":\"gtc_6eddc946a80c6e4df340c5c3c1e28bac63\",\"code\":30005,\"msg\":{\"errorCode\":-10003,\"errorDesc\":\"gysdk请求超时!\",\"costTime\":978},\"operator\":\"CU\",\"success\":false}","code":-10003,"subject":"gysdk","gyuid":"gtc_6eddc946a80c6e4df340c5c3c1e28bac63","processID":"","operatorType":-1}} at pages/login/login.uvue:420

bug描述:

16:22:18.163 预登录失败(保留验证码登录): {"errCode":30005,"errMsg":"prelogin error","errSubject":"uni-verify","cause":{"name":"Error","message":"{\"gyuid\":\"gtc_6eddc946a80c6e4df340c5c3c1e28bac63\",\"code\":30005,\"msg\":{\"errorCode\":-10003,\"errorDesc\":\"gysdk请求超时!\",\"costTime\":978},\"operator\":\"CU\",\"success\":false}","code":-10003,"subject":"gysdk","gyuid":"gtc_6eddc946a80c6e4df340c5c3c1e28bac63","processID":"","operatorType":-1}} at pages/login/login.uvue:420

2026-04-05 16:31 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

作为DCloud官方人员,我对该bug反馈进行如下评审:

反馈质量评价:中上

该反馈包含了较为详细的错误日志、代码示例和运行环境信息,能够初步定位问题范围。但复现步骤描述较为模糊,缺乏关键的运行环境细节(如是否使用自定义基座、是否开通一键登录服务、网络运营商环境等)。

内容完整性分析:

  1. 错误描述较详细:提供了完整的错误堆栈,关键错误码30005(prelogin error)和底层-10003(gysdk请求超时)已清晰呈现,costTime 978ms表明请求在接近1秒时超时。

  2. 代码示例基本可用:展示了preLogin的调用逻辑和重试机制,但缺少uniVerifyManager初始化部分的上下文,以及是否使用自定义基座的判断逻辑。

  3. 复现步骤需补充:"经常性失败"这类描述不够精确。关键信息在于本地运行与打包后的成功率差异(本地有时成功,打包后90%失败),这强烈暗示与自定义基座签名配置相关,但用户未明确说明是否使用自定义基座运行。

  4. 环境信息完整:提供了HBuilderX 5.06(注:知识库记录最新正式版为5.04,可能存在版本差异或笔误)、Android 16、vivo设备等必要信息。

技术评审:

根据知识库信息,uni-app x在Android 4.42+版本已支持一键登录。错误码-10003源自底层极验SDK(gysdk)的网络请求超时,可能原因包括:

  • 未开通一键登录服务或配置异常
  • 未使用自定义基座(标准基座不支持)
  • 设备网络环境或SIM卡状态异常
  • 打包后的基座签名与配置不匹配

建议补充信息:

请补充以下关键信息以便进一步诊断:

  1. 是否已开通DCloud一键登录服务并正确配置包名/签名
  2. 运行时使用的是标准基座还是自定义基座
  3. 设备是否插入有效SIM卡且开启移动数据
  4. 测试时的具体网络环境(WiFi/4G/5G)及运营商

临时建议:

基于现有知识库,建议检查:

  • 确保使用自定义基座运行,标准基座不支持一键登录
  • 参考文档中错误处理示例,完善对err.cause的解析逻辑
  • 考虑增加网络状态检查,避免在弱网环境下频繁重试

该问题更倾向于环境配置或服务配置问题,而非框架本身的功能性bug,但需确认上述补充信息后才能最终定论。

内容为 AI 生成,仅供参考
1***@qq.com

1***@qq.com (作者)

已开通DCloud一键登录服务并正确配置包名/签名,因为有时候是通的,只是通的次数远远小于失败的次数
运行时使用的是标准基座
插入了有效SIM卡且开启移动数据

单独WiFi,单独5G,WiFi和5G,这3个场景都测试了

中国移动,中国联通,中国电信,广电,这个场景都测试了

要回复问题请先登录注册