This commit is contained in:
猫猫guowen
2025-09-28 16:50:02 +08:00
parent 109e65730a
commit 3071c572ff
23 changed files with 4359 additions and 66 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,52 @@
// 1. 直接使用 CDN 全局的 axios
const axios = window.axios;
// 2. 基础配置(无 export 语句)
axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8';
const service = axios.create({
baseURL: '/', // 匹配若依代理,无需改
timeout: 10000
});
// 3. request 拦截器(删除所有依赖若依工具的代码)
service.interceptors.request.use(config => {
// 从 cookie 取若依的 Admin-Token(确保登录状态)
const token = document.cookie.replace(/(?:(?:^|.*;\s*)Admin-Token\s*=\s*([^;]*).*$)|^.*$/, '$1');
if (token) {
config.headers['Authorization'] = 'Bearer ' + token;
}
return config;
}, error => {
console.log(error);
return Promise.reject(error); // 必须加 return,否则吞错误
});
// 4. response 拦截器(简化,无 element-ui 依赖)
service.interceptors.response.use(res => {
// 二进制数据直接返回(如需下载可保留)
if (res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer') {
return res.data;
}
// 状态码处理(用原生 alert 替代弹窗)
const code = res.data.code || 200;
if (code === 401) {
alert('登录过期,请重新登录若依系统');
return Promise.reject('登录过期');
} else if (code !== 200) {
alert('接口失败:' + (res.data.msg || '未知错误'));
return Promise.reject('接口错误');
} else {
return res.data; // 若依接口返回的 data 已处理,直接返回
}
}, error => {
// 错误提示(原生 alert)
let msg = error.message;
if (msg === "Network Error") msg = "后端连接异常";
else if (msg.includes("timeout")) msg = "请求超时";
else if (msg.includes("status code")) msg = "接口" + msg.substr(-3) + "异常";
alert(msg);
return Promise.reject(error);
});
// 5. 核心:挂载到全局 window,无任何 export
window.request = service;