|
@@ -1,6 +1,6 @@
|
|
|
import axios, { AxiosResponse, InternalAxiosRequestConfig } from 'axios';
|
|
|
import utils from '@/utils/index';
|
|
|
-import router from '@/router'
|
|
|
+import router from '@/router';
|
|
|
|
|
|
axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8';
|
|
|
axios.defaults.headers['auth'] = true;
|
|
@@ -14,15 +14,16 @@ const service = axios.create({
|
|
|
service.interceptors.request.use(
|
|
|
(config: InternalAxiosRequestConfig) => {
|
|
|
//console.log("config", config)
|
|
|
- const token = localStorage.getItem("token") || "";
|
|
|
+ const token = localStorage.getItem('token') || '';
|
|
|
if (token && Boolean(config.headers['auth']) == true) {
|
|
|
config.headers['Authorization'] = token;
|
|
|
}
|
|
|
if (!token && Boolean(config.headers['auth']) == true) {
|
|
|
- delete config.headers['auth']
|
|
|
- const message = "缺少凭证,请重新登录!";
|
|
|
- if (router.currentRoute.value.path != "/login") {
|
|
|
- router.push("/login");
|
|
|
+ delete config.headers['auth'];
|
|
|
+ const message = '缺少凭证,请重新登录!';
|
|
|
+ if (router.currentRoute.value.path != '/login') {
|
|
|
+ localStorage.clear();
|
|
|
+ router.push('/login');
|
|
|
}
|
|
|
ElMessage({ message: message, type: 'error', duration: 5 * 1000 });
|
|
|
return Promise.reject(message);
|
|
@@ -42,7 +43,7 @@ service.interceptors.request.use(
|
|
|
if (config.data instanceof FormData) {
|
|
|
delete config.headers['Content-Type'];
|
|
|
}
|
|
|
- delete config.headers['auth']
|
|
|
+ delete config.headers['auth'];
|
|
|
return config;
|
|
|
},
|
|
|
(error: any) => {
|
|
@@ -57,7 +58,10 @@ service.interceptors.response.use(
|
|
|
const code = res.data.code;
|
|
|
const message = res.data.message;
|
|
|
if (code === 401) {
|
|
|
- router.push("/login");
|
|
|
+ if (router.currentRoute.value.path != '/login') {
|
|
|
+ localStorage.clear();
|
|
|
+ router.push('/login');
|
|
|
+ }
|
|
|
ElMessage({ message: message, type: 'error', duration: 5 * 1000 });
|
|
|
return Promise.reject('凭证已过期,请重新登录!');
|
|
|
} else {
|
|
@@ -70,6 +74,13 @@ service.interceptors.response.use(
|
|
|
message = '网络异常';
|
|
|
} else if (message.includes('timeout')) {
|
|
|
message = '请求超时';
|
|
|
+ } else if (response.status == 401) {
|
|
|
+ if (router.currentRoute.value.path != '/login') {
|
|
|
+ localStorage.clear();
|
|
|
+ router.push('/login');
|
|
|
+ }
|
|
|
+ ElMessage({ message: message, type: 'error', duration: 5 * 1000 });
|
|
|
+ return Promise.reject('凭证已过期,请重新登录!');
|
|
|
} else if (message.includes('Request failed with status code')) {
|
|
|
if (response.data.status) {
|
|
|
message = response.data.message;
|