From 4f347ad66982b815d0e803b4ab3447e28b2204e4 Mon Sep 17 00:00:00 2001
From: songshankun <songshankun@foxmail.com>
Date: 星期四, 12 十月 2023 16:11:39 +0800
Subject: [PATCH] feat: 从cookie中取token,通过拦截器添加到每个请求头中;登录失效跳转到登录页

---
 src/common/untils/request.js |   44 ++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 40 insertions(+), 4 deletions(-)

diff --git a/src/common/untils/request.js b/src/common/untils/request.js
index 866adce..4939506 100644
--- a/src/common/untils/request.js
+++ b/src/common/untils/request.js
@@ -1,5 +1,6 @@
 import axios from "axios"
 import { Message } from "element-ui"
+import Cookies from 'js-cookie'
 
 // import router from '@/router'
 
@@ -8,14 +9,45 @@
   withCredentials: true // 鏄惁鍏佽甯ookie杩欎簺
 })
 
+const getApsPage = () => {
+    // 棣栭〉閮ㄧ讲鍦ㄥ悇涓幆澧冪殑绔彛
+    const loginPathMap = {
+        prod:`//${window.location.hostname}:9080`,
+        test:`//192.168.20.119:9080`,
+        // 鎯宠烦鍒版湰鍦板惎鍔ㄧ殑鐧诲綍椤电殑璇濋渶瑕佹妸dev鏀规垚浣犳湰鍦伴」鐩矾寰�
+        dev: `//192.168.20.119:9080`
+    }
+
+    if (location.href.includes('192.168.20.119')) {
+        return loginPathMap.test
+    } else if (location.href.includes('192.168') || location.href.includes('localhost')) {
+        return loginPathMap.dev
+    } else {
+        return loginPathMap.prod
+    }
+}
+
+function getToken(){
+    const localStorageToken = localStorage.getItem('token')
+    const cookieToken = Cookies.get("token")
+    if (localStorageToken){
+        return  localStorageToken
+    }else if ( cookieToken) {
+        localStorage.setItem('token',cookieToken)
+        return cookieToken
+    }else {
+        return ''
+    }
+}
+
 /* //POST浼犲弬搴忓垪鍖�(娣诲姞璇锋眰鎷︽埅鍣�) */
 Axios.interceptors.request.use(
   (config) => {
     // 鑻ユ槸鏈夊仛閴存潈token , 灏辩粰澶撮儴甯︿笂token
-    // let token = util.cookies.get("token");
-    // if (token != undefined) {
-    //   config.headers.Authorization = "Bearer " + token;
-    // }
+    let token = getToken()
+    if (token) {
+      config.headers.Authorization = "Bearer " + token;
+    }
 
     return config
   },
@@ -33,6 +65,10 @@
     } else if (res.data.code === 700001 || res.data.code === 700005) {
       console.log("瀹㈡埛鍚嶇О閲嶅")
       return res
+    } else if([2012,2013,2014,2015].includes(res.data.code)){
+        //   JWT閴存潈澶辨晥 璺宠浆鍒扮櫥褰曢〉
+        window.location = getApsPage()+'/login'
+        return Promise.reject(res.data)
     } else {
       Message({
         message: res.data.msg,

--
Gitblit v1.8.0