feat: first commit

This commit is contained in:
2025-02-04 15:02:17 +08:00
commit b763238009
4 changed files with 182 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
node_modules
+120
View File
@@ -0,0 +1,120 @@
import axios, { AxiosRequestConfig, AxiosResponse } from "axios";
import Cookies from "js-cookie";
// axios.defaults.baseURL = ""; // 请求后台地址
axios.defaults.headers.post["Content-Type"] = "application/json;charset=utf-8";
interface LogOutCodesProps {
status: number;
code: number;
msg?: string;
}
axios.interceptors.request.use(
(config: AxiosRequestConfig) => {
// token授权
const jwtToken: string = Cookies.get("Authorization") ?? "";
config.headers = config.headers || {};
config.headers.Authorization = `${jwtToken}`;
// 缓存问题
config.headers["Cache-Control"] = "no-cache";
return config;
},
(err) => {
return Promise.reject(err);
}
);
axios.interceptors.response.use(
(response: AxiosResponse) => {
const xhr: any = response.data ?? {};
const { code, msg: resultMsg } = xhr;
// 需要退出重登的code和msg
let msg: string = "";
switch (code) {
case 9:
msg = "请重新登录";
break;
case 18:
msg = "授权过期,请重新登录";
break;
case 27:
msg = "未安装License或License已过期";
break;
case 28:
msg = "License权限不足";
break;
default:
break;
}
if (code) {
// ElMessage.error(msg || resultMsg || "系统异常");
axios.prototype.error(msg || resultMsg || "系统异常");
}
return xhr;
},
(error) => {
const response: any = error.response ?? {};
const { data, status } = response;
const { code, reason } = data;
let msg: string = "";
// 获取错误提示
switch (status) {
case 400:
msg =
code === 17
? `异地登录,登录IP为${data.data},请重新登录`
: "请求错误";
break;
case 401:
msg = reason || "鉴权失败";
break;
case 403:
msg = "拒绝访问";
break;
case 404:
msg = "请求错误,未找到该资源";
break;
case 405:
msg = "请求方法未允许";
break;
case 408:
msg = "请求超时";
break;
case 413:
msg = "请求数据过多";
break;
case 500:
msg = "服务器端出错";
break;
case 501:
msg = "网络未实现";
break;
case 503:
msg = "服务不可用";
break;
case 504:
msg = "网络超时";
break;
case 505:
msg = "http版本不支持该请求";
break;
case 502:
default:
break;
}
// ElMessage.error(msg);
axios.prototype(msg);
return Promise.reject(error).catch(() => {
if (401 == status) {
window.location.href = "/";
}
});
}
);
axios.prototype.error=(msg)=>{
}
export default axios;
+19
View File
@@ -0,0 +1,19 @@
{
"name": "funjia-axios",
"private": true,
"version": "0.0.1",
"scripts": {
"dev": "vite --port=4444",
"build": "vite build",
"preview": "vite preview --port=4444"
},
"dependencies": {
"axios": "^0.26.1",
"js-cookie": "^3.0.1"
},
"devDependencies": {
"@types/lodash-es": "^4.17.6",
"@types/node": "^17.0.25",
"typescript": "^4.5.4"
}
}
+42
View File
@@ -0,0 +1,42 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
"@types/lodash-es@^4.17.6":
version "4.17.12"
resolved "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.12.tgz#65f6d1e5f80539aa7cfbfc962de5def0cf4f341b"
integrity sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==
dependencies:
"@types/lodash" "*"
"@types/lodash@*":
version "4.17.15"
resolved "https://registry.npmmirror.com/@types/lodash/-/lodash-4.17.15.tgz#12d4af0ed17cc7600ce1f9980cec48fc17ad1e89"
integrity sha512-w/P33JFeySuhN6JLkysYUK2gEmy9kHHFN7E8ro0tkfmlDOgxBDzWEZ/J8cWA+fHqFevpswDTFZnDx+R9lbL6xw==
"@types/node@^17.0.25":
version "17.0.45"
resolved "https://registry.npmmirror.com/@types/node/-/node-17.0.45.tgz#2c0fafd78705e7a18b7906b5201a522719dc5190"
integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==
axios@^0.26.1:
version "0.26.1"
resolved "https://registry.npmmirror.com/axios/-/axios-0.26.1.tgz#1ede41c51fcf51bbbd6fd43669caaa4f0495aaa9"
integrity sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==
dependencies:
follow-redirects "^1.14.8"
follow-redirects@^1.14.8:
version "1.15.9"
resolved "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1"
integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==
js-cookie@^3.0.1:
version "3.0.5"
resolved "https://registry.npmmirror.com/js-cookie/-/js-cookie-3.0.5.tgz#0b7e2fd0c01552c58ba86e0841f94dc2557dcdbc"
integrity sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==
typescript@^4.5.4:
version "4.9.5"
resolved "https://registry.npmmirror.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a"
integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==