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 错误通常与运营商网络或服务端配置相关。以下是排查重点:

  1. 网络环境检查

    • 确保测试设备使用蜂窝数据网络(4G/5G),Wi-Fi环境下无法触发运营商认证
    • 切换不同运营商SIM卡(移动/联通/电信)测试,排除单运营商维护情况
  2. 服务端配置验证

    • 检查uni-cloud控制台一键登录配置
      • 应用包名与打包证书匹配(Android)
      • Bundle ID与Profile文件一致(iOS)
    • 确认AppKey/Secret未填写错误,且服务未欠费
  3. 系统兼容性处理

    • iOS 26(推测为iOS 16)需检查:
      • 是否开启「限制IP地址跟踪」(设置→蜂窝网络→SIM卡→限制IP地址跟踪)
      • 临时关闭该功能测试
    • 真机调试时使用正式环境签名,开发证书可能被运营商拦截
  4. 降级方案
    在fail回调中补充备用登录方式:

    fail(res) {
      console.log('一键登录失败:', res)
      // 跳转短信验证/账号密码登录
      uni.navigateTo({ url: '/pages/fallback-login' })
    }
回到顶部