1***@163.com
1***@163.com
  • 发布:2025-02-21 10:50
  • 更新:2025-06-04 09:25
  • 阅读:327

uni.request 个别手机在wife情况下出现网络错误,但是换成移动网络就没问题

分类:uni-app

根据用户反馈,发现uni.request 个别手机在wife情况下出现网络错误,但是换成移动网络就没问题,请问你们出现过吗

2025-02-21 10:50 负责人:无 分享
已邀请:
DCloud_App_Array

DCloud_App_Array

逻辑上跟使用wifi还是移动网络无关。在wifi情况下出现错误时尝试使用其它App看是否网络正常?

  • 1***@163.com (作者)

    wife情况出现错误时,其他app是正常的,这就很奇怪

    2025-02-25 12:57

  • DCloud_App_Array

    回复 1***@163.com: 换其他设备看是否正常?另外检查下手机上是不是有什么设置阻止了此应用使用wifi网络?

    2025-02-25 15:22

  • 1***@163.com (作者)

    回复 DCloud_App_Array: 目前用户有换平板和手机 ,发现都是wife情况下不能连接,移动流量就正常,这和具体是什么wife有关吗,有好几个这样的用户反馈过来了

    2025-05-30 09:49

  • DCloud_App_Array

    回复 1***@163.com: 确认在wifi网络下服务器是可连接的?用的什么服务器?

    2025-05-30 17:14

  • 1***@163.com (作者)

    回复 DCloud_App_Array: 终于找到用户确认了,服务器接口时wife下是可访问的,但是切到app相同wife用uni.request请求却报网络异常,接口地址都是一模一样的,wife权限也是开的,切换成移动网络是能正常访问,就是wife不行

    2025-06-02 21:20

  • 1***@163.com (作者)

    回复 DCloud_App_Array: 用的是阿里云linux服务器

    2025-06-03 11:55

  • DCloud_App_Array

    回复 1***@163.com: 你们自己的网络环境能复现此问题吗?

    2025-06-03 15:56

  • 1***@163.com (作者)

    回复 DCloud_App_Array: 自己的网络环境不能复现,只是零星的几个用户有反馈,不是大部分,不同机型的而且是平板和手机只要用wife就会出现这个问题

    2025-06-03 16:22

  • 1***@163.com (作者)

    回复 DCloud_App_Array: 而且最新代码还做了重试,在出现网络异常时,直接用ip地址来再次请求,发现还是不能请求过来

    2025-06-03 16:34

1***@163.com

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

解决了吗,老是有用户反馈这种情况,感觉是不是bug啊,用户的wife授权也是开了的

1***@163.com

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

我的请求是这样的

uni.request({  
            url: config.baseurl + url + "?stime=" + timestamp + "&uid=" + uid,  
            method: "POST",  
            header: {  
                'content-type': 'application/json',  
                'Access-Token': token,  
                'X-HMAC': encryptedBody,  
            },  
            sslVerify:false,  
            data: params,  
            success(res) {  
                console.log('接口请求结果', res);  

                // 可以统一处理后端返回的错误码,例如 token 过期等  
                // ...  
                let data = res.data;  
                // 对业务错误码进行统一处理  
                if (res.statusCode == 400) {  
                    // 对token过期进行统一处理  
                    if (data.code == 10000) {  
                        console.log("对token失效进行处理");  
                        uni.redirectTo({  
                            url: '/pages/index/index'  
                        });  
                        return;  
                    }  
                    console.log('请求失败了', data)  
                    return reject(data.msg);  
                }  
                if (res.statusCode != 200 && res.statusCode != 400) {  
                    return reject(data.msg);  
                }  

                // 无错误码,resolve成功的数据  
                return resolve(data);  
            },  
            fail(err) {  
                console.log(err)  
                if (err.errMsg.indexOf('timeout') > -1) reject(  
                     '请求超时!'  
                )  
                else if (err.errMsg.indexOf('request:fail') > -1) reject(  
                     '网络异常!'  
                )  
                else return reject(err);  
            },  
            complete() {  
                // 加载状态 -- 隐藏  
                // uni.hideLoading();  
            }  
        });
1***@163.com

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

现在出现的问题就是一直走到网络异常那一步,换用移动网络就是正常的

DCloud_Android_THB

DCloud_Android_THB

手机是否开了代理?或者服务端做了一些请求ip的限制?

  • 1***@163.com (作者)

    没有开代理,也没ip限制,因为我拿接口地址给用户直接用手机浏览器访问的时候是可以成功的,只是在app内不能成功,app内只有开数据流量才能成功,用户换用平板也是同样的问题

    2025-06-04 09:57

  • DCloud_Android_THB

    回复 1***@163.com: 现在报什么错误

    2025-06-05 10:15

  • 1***@163.com (作者)

    回复 DCloud_Android_THB: else if (err.errMsg.indexOf('request:fail') > -1) reject(

    '网络异常!'

    )

    2025-06-07 02:27

  • 1***@163.com (作者)

    代码走到这里报错了

    2025-06-07 02:27

  • DCloud_Android_THB

    回复 1***@163.com: 这个不好看出来问题,你那边能组织复现一下吗,方便排查问题。

    2025-06-09 17:23

  • 1***@163.com (作者)

    回复 DCloud_Android_THB: 哎,不好组织用户,别人用一两次发现问题就不用了,有的人开会员都直接退款了,基本不回复的

    2025-06-20 09:52

  • DCloud_Android_THB

    回复 1***@163.com: 需要提供一下具体的报错信息,方便排查

    2025-06-20 10:03

  • 1***@163.com (作者)

    回复 DCloud_Android_THB: 我这里只能看到使用框架的报错信息,再底层的信息就没有了,框架报错信息只有request:fail ,能有什么办法看到更底层的信息吗

    2025-06-20 10:04

  • DCloud_Android_THB

    回复 1***@163.com: request:fail 后面有个错误状态码 返回的是什么?

    2025-06-20 10:22

  • 1***@163.com (作者)

    回复 DCloud_Android_THB: 这个目前还不清楚,应该要等我下次发版加上去,现在可以帮忙先大致确定下排查方向吗,因为找到这样愿意配合的用户实在不易,首先可以排除用户网络问题,因为同样的接口地址,我发给用户,用户是可以访问的, 然后是不是能排除设备问题,因为用户平板和手机都出现了一样的情况, 我看类似的帖子说传递的参数需要自己先JSON.stringfy() ,我是post请求,不知道是不是这个原因

    2025-06-20 11:41

  • DCloud_Android_THB

    回复 1***@163.com: 应该不是用法的问题,我怀疑是环境问题,你这个用户app中所有的网络请求都不能成功吗?app的网络权限是否开启了?

    2025-06-20 17:09

  • 1***@163.com (作者)

    回复 DCloud_Android_THB: app网络权限是开了的,而且切换到数据流量马上就好了,不止一个用户,好几个用户也有反馈

    2025-06-20 17:38

  • DCloud_Android_THB

    回复 1***@163.com: app中的所有网络请求都不成功?

    2025-06-23 11:30

  • 1***@163.com (作者)

    回复 DCloud_Android_THB: 对,app内所有网络请求都不成功,只有切换流量才能成功

    2025-06-24 14:31

  • DCloud_Android_THB

    回复 1***@163.com: 排除一下dns的问题, 你方便写个测试app访问一下百度之类的网站,在用户设备上测试一下是否请求成功

    2025-06-27 16:37

  • 1***@163.com (作者)

    回复 DCloud_Android_THB: 没有问题,前面已经说过了,叫用户在浏览器上访问相同的网址,是能够访问的

    2025-06-28 00:56

  • 1***@163.com (作者)

    回复 1***@163.com: 回复 DCloud_Android_THB: 相同的带域名的接口是可以访问的

    2025-06-28 00:56

  • DCloud_Android_THB

    回复 1***@163.com: 我说的是在app内访问百度

    2025-06-30 09:35

  • 猪皮恶霸

    回复 DCloud_Android_THB: 我也遇到了类似的问题,在打开手机流量的前提下打开app,偶尔会出现不能访问网络的情况,无论是uni,request还是webview打开的网页,都不能访问。但是其他APP可以正常使用。

    2025-07-02 11:34

要回复问题请先登录注册