详细问题描述
(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)
[内容]
安卓10版本的手机请求接口,request:fail abort",苹果请求没问题,安卓10以下也没问题.
已经将sslVerify:false.
重现步骤
手机升级到安卓10之后,打开app网络请求全部失败.
request:fail abort
打印的错误是---COMMA------BEGIN:JSON---{"errMsg":"request:fail abort"}---END:JSON--- at apis\http.js:71
[步骤]
这里是我自己封装的请求,小程序和苹果和安卓10以下的系统都能正常请求.
import store from "@/store";
function HTTP(obj, config) {
let defaultConfig = {
isRes: false,
loading: false
}
config = { ...defaultConfig,
...config
}
// 如果需要显示loading,mask防止点击穿透
config.loading && uni.showLoading({
title: '加载中',
mask: true
});
return new Promise((resolve, reject) => {
let options = {
url: "",
method: "GET",
data: {},
dataType: "json",
sslVerify:false,
header: {
"content-type": "application/json",
"X-requested-With": "XMLHttpRequest",
'Authorization':`Bearer ${store.state.token}`,
},
success: (res) => {
// console.log('Promise成功的res是',res)
uni.hideLoading();
// 状态码为200
// console.log('获取到的链接',res);
if (res.statusCode == 200) {
let data = res.data;
//自动校验用户是否登录过期
// if (data.code == "01") {
// store.dispatch("reLogin");
// return;
// }
//返回 { code:10000,msg:"消息",data:[] }
if (config.isRes) {
resolve(data)
}
// 返回 data:[]
else {
//console.log('data是',data);
resolve(data || true);
// if (data.code == 200) {
//
//
// } else {
// uni.showToast({
// title:'失败',
// icon: "none",
// duration: 2000
// })
// reject(data);
// }
}
} else {
reject("HTTP:状态码异常!");
}
},
fail: (err) => {
// console.log('Promise异常的数据',err);
uni.hideLoading();
uni.showToast({
title: "网络异常,请稍后再试!",
icon: "none",
})
reject("网络异常,请稍后再试!");
},
complete: () => {}
}
options = { ...options,
...obj
};
const OPENID = uni.getStorageSync("openId");
if (OPENID) options["header"]["openId"] = OPENID;
if (options.url && options.method) {
wx.request(options);
} else {
wx.showToast({
title: 'HTTP:缺失参数',
icon: "none",
duration: 2000
})
}
})
}
export default {
GET(url, data = {}, config) {
return HTTP({
url,
data,
sslVerify:false,
method: "GET"
}, config);
},
PUT(url, data = {}, config) {
return HTTP({
url,
data,
sslVerify:false,
method: "PUT"
}, config);
},
POST(url, data = {}, config) {
return HTTP({
url,
data,
sslVerify:false,
method: "POST"
}, config);
},
DELETE(url, data = {}, config) {
return HTTP({
url,
data,
sslVerify:false,
method: "DELETE"
}, config);
},
POSTformdata(url, data = {}, config) {
return HTTP({
url,
data,
sslVerify:false,
method: "POST"
}, config);
}
}
[结果]
[期望]
[如果语言难以表述清晰,拍一个视频或截图,有图有真相]
IDE运行环境说明
[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]
[IDE版本号]
2.5.1
[windows版本号]
win10
[mac版本号]
uni-app运行环境说明
[运行端是h5或app或某个小程序?]
app
[运行端版本号]
安卓10,
[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]
hbuilderX创建的
[编译模式是老模板模式还是新的自定义组件模式?]
新的自定义组件模式
App运行环境说明
[Android版本号]
10
[iOS版本号]
12.4
[手机型号]
小米9se 华为 mate30
[模拟器型号]
附件
[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]
[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]
[App安装包或H5地址]
[可重现代码片段]
联系方式
[QQ]
7 个回复
楠哥亡命天涯 (作者) - 无无无无无无无无无无无
自定
楠哥亡命天涯 (作者) - 无无无无无无无无无无无
自顶
楠哥亡命天涯 (作者) - 无无无无无无无无无无无
自顶
楠哥亡命天涯 (作者) - 无无无无无无无无无无无
自顶
DCloud_Android_zl
麻烦提供一个完整的测试demo。
景风 - 950005
升级版本后,出现了request:fail abort statusCode:-1,设置sslVerify:false也一样不行,安卓10,请问有没有大神知道怎么处理?
2***@qq.com
请求的接口换成https即可,童叟无欺
有问
我用HTTPS和HTTP也都不行。逍遥模拟器上测试的。接口直接在浏览器里访问都没事。
2020-12-21 15:55