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

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

要回复问题请先登录注册