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