first commit

This commit is contained in:
1009473166@qq.com
2026-07-31 13:57:52 +08:00
parent 8fdc6c4e07
commit ca32a48223
888 changed files with 130925 additions and 0 deletions

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: '', // 不使用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;