|
@@ -10,6 +10,7 @@ import type {
|
|
|
UpdateSuccess,
|
|
|
} from '@/models'
|
|
|
import axios from 'axios'
|
|
|
+import { router } from '@/router'
|
|
|
|
|
|
let token = ''
|
|
|
|
|
@@ -19,6 +20,45 @@ const baseServer = axios.create({
|
|
|
Authorization: `Bearer ${token}`,
|
|
|
},
|
|
|
})
|
|
|
+//请求拦截器
|
|
|
+baseServer.interceptors.request.use((config) => {
|
|
|
+ return config;
|
|
|
+});
|
|
|
+//响应拦截器
|
|
|
+baseServer.interceptors.response.use(
|
|
|
+ (response) => {
|
|
|
+ return response;
|
|
|
+ },
|
|
|
+ (error) => {
|
|
|
+ const { status, data, statusCode } = error.response;
|
|
|
+ switch (status) {
|
|
|
+ case 400:
|
|
|
+ //判断data.message 为数组
|
|
|
+ if (Array.isArray(data.message)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ console.log(data.message);
|
|
|
+ break;
|
|
|
+ case 401:
|
|
|
+ console.log("token失效,请重新登录");
|
|
|
+ window.localStorage.removeItem("token");
|
|
|
+ router.push("/auth?type=login");
|
|
|
+ break;
|
|
|
+ case 403:
|
|
|
+ console.log("没有权限,请联系管理员");
|
|
|
+ break;
|
|
|
+ case 404:
|
|
|
+ console.log("请求资源不存在");
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ console.log(data.message);
|
|
|
+ }
|
|
|
+ if (statusCode === 400) {
|
|
|
+
|
|
|
+ }
|
|
|
+ return Promise.reject(error);
|
|
|
+ }
|
|
|
+);
|
|
|
|
|
|
export const api = {
|
|
|
auth(password: string) {
|