feat: 从cookie中取token,通过拦截器添加到每个请求头中;登录失效跳转到登录页
| | |
| | | "crypto-js": "^4.1.1", |
| | | "dayjs": "^1.11.9", |
| | | "element-ui": "^2.15.13", |
| | | "js-cookie": "^3.0.5", |
| | | "lodash": "^4.17.19", |
| | | "qs": "^6.11.2", |
| | | "save": "^2.9.0", |
| | |
| | | "resolved": "https://registry.npmmirror.com/js-base64/-/js-base64-2.6.4.tgz", |
| | | "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" |
| | | }, |
| | | "node_modules/js-cookie": { |
| | | "version": "3.0.5", |
| | | "resolved": "https://registry.npmmirror.com/js-cookie/-/js-cookie-3.0.5.tgz", |
| | | "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==", |
| | | "engines": { |
| | | "node": ">=14" |
| | | } |
| | | }, |
| | | "node_modules/js-message": { |
| | | "version": "1.0.7", |
| | | "resolved": "https://registry.npmmirror.com/js-message/-/js-message-1.0.7.tgz", |
| | |
| | | "crypto-js": "^4.1.1", |
| | | "dayjs": "^1.11.9", |
| | | "element-ui": "^2.15.13", |
| | | "js-cookie": "^3.0.5", |
| | | "lodash": "^4.17.19", |
| | | "qs": "^6.11.2", |
| | | "save": "^2.9.0", |
| | |
| | | import axios from "axios" |
| | | import { Message } from "element-ui" |
| | | import Cookies from 'js-cookie' |
| | | |
| | | // import router from '@/router' |
| | | |
| | |
| | | withCredentials: true // 是否允许带cookie这些 |
| | | }) |
| | | |
| | | 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 |
| | | }, |
| | |
| | | } 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, |