hldy_app/request/index.js

89 lines
2.1 KiB
JavaScript
Raw Permalink Normal View History

2025-02-18 17:11:31 +08:00
// 全局请求封装
2025-07-09 17:35:13 +08:00
const base_url = 'https://www.focusnu.com/opeapi'
2025-02-18 17:11:31 +08:00
// 请求超出时间
const timeout = 5000
2025-07-09 17:35:13 +08:00
2025-02-18 17:11:31 +08:00
// 需要修改token和根据实际修改请求头
export default (params) => {
let url = params.url;
let method = params.method || "get";
let data = params.data || {};
let header = {
'Blade-Auth': uni.getStorageSync('token') || '',
'Content-Type': 'application/json;charset=UTF-8',
'Authorization': 'Basic c2FiZXI6c2FiZXJfc2VjcmV0',
'Tenant-Id': uni.getStorageSync('tenantId') || 'xxx', // avue配置相关
...params.header
}
return new Promise((resolve, reject) => {
uni.request({
2025-07-14 17:26:40 +08:00
// https开头的不修改不是的话则添加base为啥呢因为有两种base啊
2025-07-09 17:35:13 +08:00
url: /^https?:\/\//.test(url) ? url : base_url + url,
2025-02-18 17:11:31 +08:00
method: method,
header: header,
data: data,
2025-07-09 17:35:13 +08:00
timeout,
2025-02-18 17:11:31 +08:00
success(response) {
const res = response
// 根据返回的状态码做出对应的操作
//获取成功
// console.log(res.statusCode);
if (res.statusCode == 200) {
resolve(res.data);
} else {
uni.clearStorageSync()
switch (res.statusCode) {
case 401:
uni.showModal({
title: "提示",
2025-07-14 17:26:40 +08:00
content: "登录过期",
2025-02-18 17:11:31 +08:00
showCancel: false,
success() {
setTimeout(() => {
uni.navigateTo({
url: "/pages/login/login",
})
}, 1000);
},
});
break;
case 404:
uni.showToast({
title: '请求地址不存在...',
duration: 2000,
})
break;
default:
uni.showToast({
title: '请重试...',
duration: 2000,
})
break;
}
}
},
fail(err) {
console.log(err)
if (err.errMsg.indexOf('request:fail') !== -1) {
uni.showToast({
title: '网络异常',
icon: "error",
duration: 2000
})
} else {
uni.showToast({
title: '未知异常',
duration: 2000
})
}
reject(err);
2025-07-09 17:35:13 +08:00
2025-02-18 17:11:31 +08:00
},
complete() {
// 不管成功还是失败都会执行
uni.hideLoading();
uni.hideToast();
}
});
}).catch(() => {});
};