Sfoglia il codice sorgente

Merge branch 'main' of http://8.130.126.103:10880/liuqianpan2008/bk-vue

Sakulin 2 mesi fa
parent
commit
1eeccce43f
1 ha cambiato i file con 40 aggiunte e 0 eliminazioni
  1. 40 0
      src/utils/axios.ts

+ 40 - 0
src/utils/axios.ts

@@ -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) {