uni-app 小米手机uni.request 请求失败

uni-app 小米手机uni.request 请求失败

开发环境 版本号 项目创建方式
Windows win10 HBuilderX

操作步骤:

  • 点击输入用户名密码 随意输入

预期结果:

  • 返回用户名密码错误

实际结果:

  • 小米手机uni.request 请求失败 直接走到 fail

bug描述:

  • 小米手机uni.request 请求失败 直接走到 fail
1 回复

更多关于uni-app 小米手机uni.request 请求失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html


根据你的描述,这是一个典型的安卓平台网络请求兼容性问题。小米手机(MIUI系统)对网络请求的安全策略较为严格,导致 uni.request 直接进入 fail 回调。

主要原因及解决方案:

  1. HTTP 与 HTTPS 问题
    小米手机默认可能禁止非 HTTPS 请求。如果你的请求地址是 http:// 开头,请改为 https://。如果是本地调试(如本地服务器 http://localhosthttp://192.168.x.x),需要在小米手机的 开发者选项 中开启 “允许HTTP明文传输” 选项。

  2. 网络权限配置
    检查 manifest.json 中是否配置了网络权限:

    {
      "app-plus": {
        "distribute": {
          "android": {
            "permissions": [
              "<uses-permission android:name=\"android.permission.INTERNET\"/>"
            ]
          }
        }
      }
    }
    
  3. 域名校验(仅打包后生效)
    如果已使用 HTTPS,请确保域名已加入 合法域名列表(HBuilderX 中:项目 → 运行到手机 → 勾选“不校验合法域名”可临时测试)。

  4. 请求超时设置
    小米手机网络环境可能较慢,可适当增加超时时间:

    uni.request({
      url: '...',
      timeout: 10000, // 设置为10秒
      success() {},
      fail(err) {
        console.log('失败详情:', err); // 查看具体错误信息
      }
    });
回到顶部