x***@163.com
x***@163.com
  • 发布:2024-12-12 08:44
  • 更新:2024-12-12 08:44
  • 阅读:25

【报Bug】uniapp 运行到真机请求接口报错 request:fail abort statusCode:-1 Android internal error H5和模拟器都没有问题

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: windows11

HBuilderX类型: 正式

HBuilderX版本号: 4.36

手机系统: Android

手机系统版本号: Android 11

手机厂商: 华为

手机机型: HUAWEI Mate20 Pro 荣耀等多个手机

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

import $config from '@/config.js'
import $store from '@/common/store/index.js'
export default function http(param) {
// 封装的请求拦截的配置项
const config = {
baseUrl: $config.gateway, // 请求的本域名,网关地址,在config中设置的网关
method: param.method,
// 设置为json,返回后会对数据进行一次JSON.parse()
dataType: 'json',
loadingMask: true, // 展示loading的时候,是否给一个透明的蒙层,防止触摸穿透
// 配置请求头信息
header: {
'content-type': 'application/json;charset=UTF-8',
'Form-type': 'app'
},
}
if (param.needToken) {
let token = uni.getStorageSync('token')
config.header['Authori-zation'] = "Bearer " + token
}
return new Promise((resolve, reject) => {
uni.showLoading({
title: '加载中',
mask: true
})
uni.request({
url: config.baseUrl + param.url,
method: config.method,
dataType: config.dataType,
data: param.params,
header: config.header,
sslVerify: false,
success(response) {
// console.log(response)
if (response.statusCode == 200) {
resolve(response)
if (response.data.code == 400003) {
uni.showToast({
title: '请登录,1秒后自动跳转登录',
icon: 'none'
});
// 清除缓存
uni.removeStorage({
key: 'isLogin'
});
uni.removeStorage({
key: 'token'
});
uni.removeStorage({
key: 'userInfo'
});
uni.clearStorage();
setTimeout(() => {
uni.reLaunch({
url: '/pages/login/index'
})
}, 1500)
}

                if (response.data.msg == '请登录') {  
                    uni.showToast({  
                        title: '请登录,1秒后自动跳转登录',  
                        icon: 'none'  
                    });  
                    // 清除缓存  
                    uni.removeStorage({  
                        key: 'isLogin'  
                    });  
                    uni.removeStorage({  
                        key: 'token'  
                    });  
                    uni.removeStorage({  
                        key: 'userInfo'  
                    });  
                    uni.clearStorage();  
                    setTimeout(() => {  
                        uni.reLaunch({  
                            url: '/pages/login/index'  
                        })  
                    }, 1500)  
                }  

            } else if (response.statusCode == 401) {  
                // // #ifdef MP-WEIXIN  
                // wxMPLogin()  
                // // #endif  
                // // #ifdef H5  
                // wxH5Login(false, 401)  
                // // #endif      
                // // #ifdef APP-PLUS  
                // //清除缓存  
                // //改变登录状态  
                // $store.commit('changeLogin', false);  
                // //用户信息为空  
                // $store.commit('setUserInfo', {});  
                // uni.navigateTo({  
                //  url: '/pages/loginAgreement/loginAgreement'  
                // })  
                // // #endif                              
            } else if (response.statusCode == 500) {  
                console.log('500错误');  
                uni.showToast({  
                    title: '接口出错了,请稍后再试',  
                    icon: 'none'  
                });  
            } else if (response.statusCode == 400) {  
                console.log('400错误');  
                uni.showToast({  
                    title: '接口出错了,请稍后再试',  
                    icon: 'none'  
                });  
            } else if (response.statusCode == 400003) {  
                uni.showToast({  
                    title: '请登录,1秒后自动跳转登录',  
                    icon: 'none'  
                });  
                // 清除缓存  
                uni.removeStorage({  
                    key: 'isLogin'  
                });  
                uni.removeStorage({  
                    key: 'token'  
                });  
                uni.removeStorage({  
                    key: 'userInfo'  
                });  
                setTimeout(() => {  
                    uni.reLaunch({  
                        url: '/pages/login/index'  
                    })  
                }, 1500)  
            }  

            uni.hideLoading();  
        },  
        fail(err) {  
            console.log('interceptor-fail', err)  
            setTimeout(function() {  
                uni.hideLoading();  
            }, 5000);  
        },  
        complete() {}  
    })  
})  

}

操作步骤:

所有的请求真机运行到安卓上和模拟器都报错 设置了sslVerify: false,这个属性后 模拟器可以了 安卓手机还是不行

预期结果:

请求成功

实际结果:

实际一直失败

bug描述:

uniapp 运行到真机请求接口报错 request:fail abort statusCode:-1 Android internal error H5和模拟器都没有问题

2024-12-12 08:44 负责人:无 分享
已邀请:

要回复问题请先登录注册