如图1,这是审核那边给我的图片.
如图2,是我配置的request,可以看出,直接走了fail。
有没有人遇到过这个问题,还是说我的request配置有问题?
function request(options, header = {}) {
if (uni.getStorageSync('token')) header.Authorization = uni.getStorageSync('token')
if (options.headers) header['Content-Type'] = options.headers['Content-Type']
const baseURL = 'http://116.228.197.77:1300/' //服务器地址外网映射链接
return new Promise((resolve, reject) => {
uni.showLoading({
title: '发送中',
mask: true
})
// 设置超时处理
const timeout = setTimeout(() => {
uni.hideLoading(); // 关闭加载动画
reject('请求超时或未发出');
uni.showToast({
title: '请求超时或未发出',
icon: 'none'
});
}, 10000); // 10秒超时
uni.request({
url: baseURL + options.url,
method: options.method.toUpperCase(),
data: options.method === 'GET' ? {} : options
.data,
timeout: 7000,
header: header,
// header: {
// 'content-type': 'application/json', // 根据实际情况设置,这里只是一个示例
// // 'Authorization': 'Bearer ' + uni.getStorageSync('token') || '', // 如果有 token 验证,可以从这里设置
// ...header // 合并传入的 header
// },
success: (response) => {
clearTimeout(timeout); // 清除超时处理
// 这里可以根据需要处理返回的数据,例如错误码处理等
if (response.statusCode === 200 && response.data.code ===
200) { // 假设 code 为 0 表示成功
uni.hideLoading(); //关闭加载动画
resolve(response);
} else {
uni.hideLoading({
success: () => {
uni.showToast({
title: response.data.msg,
icon: 'none'
});
}
}); //关闭加载动画
reject(response.data.msg || '网络请求失败');
}
},
fail: (error) => {
clearTimeout(timeout); // 清除超时处理
uni.hideLoading(); // 关闭加载动画
uni.showToast({
title: '请求失败',
icon: 'error'
});
reject('请求失败,error:',
error);
}
});
});
}
// 导出 request 方法
export default request;
2***@qq.com (作者)
我找朋友,用testflight公开测试链接是可以正常使用的,wifi和流量环境都试过,都可以用。难道是ios那边是只支持https吗?茫然
2024-10-08 10:40
沈工
回复 2***@qq.com: 最好走https
2024-10-08 11:16