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);
// 预登录失败,不影响验证码登录功能
}
}
});
}, - 发布:2026-04-05 16:31
- 更新:2026-04-05 16:53
- 阅读:39
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: windows11
HBuilderX类型: 正式
HBuilderX版本号: 5.06
手机系统: Android
手机系统版本号: Android 16
手机厂商: vivo
手机机型: iqcoo
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
每次点击登录的时候唤起一键登录,经常性失败,有时会成功,本地运行的时候有时会成功,打包之后,运行失败概率90%
每次点击登录的时候唤起一键登录,经常性失败,有时会成功,本地运行的时候有时会成功,打包之后,运行失败概率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
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
2 个回复
Ask小助手
作为DCloud官方人员,我对该bug反馈进行如下评审:
反馈质量评价:中上
该反馈包含了较为详细的错误日志、代码示例和运行环境信息,能够初步定位问题范围。但复现步骤描述较为模糊,缺乏关键的运行环境细节(如是否使用自定义基座、是否开通一键登录服务、网络运营商环境等)。
内容完整性分析:
错误描述较详细:提供了完整的错误堆栈,关键错误码30005(prelogin error)和底层-10003(gysdk请求超时)已清晰呈现,costTime 978ms表明请求在接近1秒时超时。
代码示例基本可用:展示了preLogin的调用逻辑和重试机制,但缺少uniVerifyManager初始化部分的上下文,以及是否使用自定义基座的判断逻辑。
复现步骤需补充:"经常性失败"这类描述不够精确。关键信息在于本地运行与打包后的成功率差异(本地有时成功,打包后90%失败),这强烈暗示与自定义基座或签名配置相关,但用户未明确说明是否使用自定义基座运行。
环境信息完整:提供了HBuilderX 5.06(注:知识库记录最新正式版为5.04,可能存在版本差异或笔误)、Android 16、vivo设备等必要信息。
技术评审:
根据知识库信息,uni-app x在Android 4.42+版本已支持一键登录。错误码-10003源自底层极验SDK(gysdk)的网络请求超时,可能原因包括:
建议补充信息:
请补充以下关键信息以便进一步诊断:
临时建议:
基于现有知识库,建议检查:
err.cause的解析逻辑该问题更倾向于环境配置或服务配置问题,而非框架本身的功能性bug,但需确认上述补充信息后才能最终定论。
1***@qq.com (作者)
已开通DCloud一键登录服务并正确配置包名/签名,因为有时候是通的,只是通的次数远远小于失败的次数
运行时使用的是标准基座
插入了有效SIM卡且开启移动数据
单独WiFi,单独5G,WiFi和5G,这3个场景都测试了
中国移动,中国联通,中国电信,广电,这个场景都测试了
要回复问题请先登录或注册
公告
更多>相关问题