uni-app 使用预登录的时候部分手机出现“preLogin:fail -40001运营商返回失败”
uni-app 使用预登录的时候部分手机出现“preLogin:fail -40001运营商返回失败”
示例代码:
uni.getProvider({
service: 'oauth',
success: (res) => {
uni.preLogin({
provider: 'univerify',
success() {
},
fail(res) {
//就是在这个地方打印出来的
console.log(res)
},
})
},
})
操作步骤:
- 打包成为自定义基座运行在手机上之后点击一键登录就会出现
预期结果:
- 点击一键登录 uni.preLogin成功
实际结果:
- uni.preLogin在iOS26的系统上调用失败出现错误信息
bug描述:
出现报错信息:
{
"errMsg": "preLogin:fail -40001运营商返回失败",
"code": 30005,
"appid": "XXXXXX",
"metadata": {
"msg": "operator-error",
"reqId": "XXXXXXXXXXX",
"result": -10006
},
"uid": "gtc_XXXXXXXXXXXXX"
}
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | win 11 版本10.0.26100 | CLI |
| 0.0.1 |
更多关于uni-app 使用预登录的时候部分手机出现“preLogin:fail -40001运营商返回失败”的实战教程也可以访问 https://www.itying.com/category-93-b0.html
5 回复
后台开通一键登录审核通过了吗
更多关于uni-app 使用预登录的时候部分手机出现“preLogin:fail -40001运营商返回失败”的实战教程也可以访问 https://www.itying.com/category-93-b0.html
通过了,部分手机都是正常使用的
回复 G_shenren: 30005 预登录失败 不具备一键登录的使用前提,设备不支持/未开启数据流量/其他原因
回复 Blog1221: 那其他原因还包含什么前两条都是确定没问题的了
preLogin:fail -40001 错误通常与运营商网络或服务端配置相关。以下是排查重点:
-
网络环境检查
- 确保测试设备使用蜂窝数据网络(4G/5G),Wi-Fi环境下无法触发运营商认证
- 切换不同运营商SIM卡(移动/联通/电信)测试,排除单运营商维护情况
-
服务端配置验证
- 检查uni-cloud控制台一键登录配置:
- 应用包名与打包证书匹配(Android)
- Bundle ID与Profile文件一致(iOS)
- 确认AppKey/Secret未填写错误,且服务未欠费
- 检查uni-cloud控制台一键登录配置:
-
系统兼容性处理
- iOS 26(推测为iOS 16)需检查:
- 是否开启「限制IP地址跟踪」(设置→蜂窝网络→SIM卡→限制IP地址跟踪)
- 临时关闭该功能测试
- 真机调试时使用正式环境签名,开发证书可能被运营商拦截
- iOS 26(推测为iOS 16)需检查:
-
降级方案
在fail回调中补充备用登录方式:fail(res) { console.log('一键登录失败:', res) // 跳转短信验证/账号密码登录 uni.navigateTo({ url: '/pages/fallback-login' }) }

