|
@@ -2,11 +2,11 @@ import axios from "axios";
|
|
import Router from "@/router";
|
|
import Router from "@/router";
|
|
import { Message, Notification } from "@arco-design/web-vue";
|
|
import { Message, Notification } from "@arco-design/web-vue";
|
|
import { useSystemStore } from "@/store/modules/systemStore";
|
|
import { useSystemStore } from "@/store/modules/systemStore";
|
|
-
|
|
|
|
|
|
+import moment from 'moment-timezone';
|
|
import { fn_logout } from "@/utils";
|
|
import { fn_logout } from "@/utils";
|
|
|
|
|
|
const axiosInstance = axios.create({
|
|
const axiosInstance = axios.create({
|
|
- // baseURL: `${import.meta.env.PROD ? import.meta.env.VITE_PRO_PATH : ''}/api`,
|
|
|
|
|
|
+ // baseURL: `${import.meta.env.PROD? import.meta.env.VITE_PRO_PATH : ''}/api`,
|
|
baseURL: import.meta.env.BASE_URL + "api",
|
|
baseURL: import.meta.env.BASE_URL + "api",
|
|
timeout: 300000,
|
|
timeout: 300000,
|
|
});
|
|
});
|
|
@@ -18,7 +18,7 @@ const requestState = {
|
|
beOverdue: [886],
|
|
beOverdue: [886],
|
|
// 没有访问权限
|
|
// 没有访问权限
|
|
NotAccessRight: [500],
|
|
NotAccessRight: [500],
|
|
- // 异常code
|
|
|
|
|
|
+ // 异常 code
|
|
exception: [400],
|
|
exception: [400],
|
|
};
|
|
};
|
|
|
|
|
|
@@ -49,10 +49,15 @@ axiosInstance.interceptors.response.use(
|
|
(res) => {
|
|
(res) => {
|
|
const systemStore = useSystemStore();
|
|
const systemStore = useSystemStore();
|
|
systemStore.localLoading();
|
|
systemStore.localLoading();
|
|
- const { code, data, message:msg } = res.data;
|
|
|
|
|
|
+ const { code, data, message: msg } = res.data;
|
|
// 成功
|
|
// 成功
|
|
if (code === 200) {
|
|
if (code === 200) {
|
|
- return Promise.resolve(res.data);
|
|
|
|
|
|
+ const dataList = {
|
|
|
|
+ code: code,
|
|
|
|
+ message: res.data.msg,
|
|
|
|
+ data: data && data.records ? {records:data.records.map(item => ({ ...item, createdAt: timeLoadTemeYear(item.createdAt || false), updatedAt: timeLoadTemeYear(item.updatedAt || false) }))} : data.map(item => ({ ...item, createdAt: timeLoadTemeYear(item.createdAt || false), updatedAt: timeLoadTemeYear(item.updatedAt || false) }))
|
|
|
|
+ }
|
|
|
|
+ return Promise.resolve(dataList);
|
|
}
|
|
}
|
|
|
|
|
|
// 服务端错误信息
|
|
// 服务端错误信息
|
|
@@ -64,7 +69,7 @@ axiosInstance.interceptors.response.use(
|
|
return Promise.reject(msg);
|
|
return Promise.reject(msg);
|
|
}
|
|
}
|
|
|
|
|
|
- // 异常code
|
|
|
|
|
|
+ // 异常 code
|
|
if (requestState.exception.includes(code)) {
|
|
if (requestState.exception.includes(code)) {
|
|
Notification.warning({
|
|
Notification.warning({
|
|
title: "系统提示",
|
|
title: "系统提示",
|
|
@@ -72,7 +77,7 @@ axiosInstance.interceptors.response.use(
|
|
});
|
|
});
|
|
return Promise.reject(msg);
|
|
return Promise.reject(msg);
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
return Promise.resolve(data);
|
|
return Promise.resolve(data);
|
|
},
|
|
},
|
|
(err) => {
|
|
(err) => {
|
|
@@ -83,12 +88,12 @@ axiosInstance.interceptors.response.use(
|
|
console.log("请求中断");
|
|
console.log("请求中断");
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- const msg = err.response.data ? err.response.data.message : ""
|
|
|
|
|
|
+ const msg = err.response.data ? err.response.data.message : "";
|
|
Notification.warning({
|
|
Notification.warning({
|
|
title: "系统信息",
|
|
title: "系统信息",
|
|
content: msg
|
|
content: msg
|
|
});
|
|
});
|
|
- //token失效
|
|
|
|
|
|
+ // token 失效
|
|
if (requestState.beOverdue.includes(err.status)) {
|
|
if (requestState.beOverdue.includes(err.status)) {
|
|
fn_logout(Router);
|
|
fn_logout(Router);
|
|
// 直接终止请求
|
|
// 直接终止请求
|
|
@@ -98,4 +103,21 @@ axiosInstance.interceptors.response.use(
|
|
}
|
|
}
|
|
);
|
|
);
|
|
|
|
|
|
-export default axiosInstance;
|
|
|
|
|
|
+
|
|
|
|
+function timeLoadTemeYear(value) {
|
|
|
|
+ if (!value) return;
|
|
|
|
+ const systemStore = useSystemStore();
|
|
|
|
+ const date = moment(value, moment.ISO_8601);
|
|
|
|
+ if (!date.isValid()) return null
|
|
|
|
+ // 使用用户所在时区转换时间
|
|
|
|
+ if (systemStore.getUserIp && systemStore.getUserIp.timezone) {
|
|
|
|
+ const localDate = date.tz(systemStore.getUserIp.timezone);
|
|
|
|
+ const time = localDate.format('YYYY-MM-DD HH:mm:ss');
|
|
|
|
+ console.log(time);
|
|
|
|
+ return time;
|
|
|
|
+ } else {
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+export default axiosInstance;
|