import axios from "axios" import { Message } from "element-ui" // import router from '@/router' // 开发环境下将自己的token复制到这里, 也可以在浏览器中手动添加token到cookie中,cookie中的token优先 const DEV_TOKEN = "" function environmentType() { let type if (location.href.includes("192.168.20.119")) { type = "test" } else if (location.href.includes("192.168") || location.href.includes("localhost")) { type = "dev" } else { type = "prod" } return type } const isDev = environmentType() === "dev" const Axios = axios.create({ responseType: "json", withCredentials: true // 是否允许带cookie这些 }) const getApsPage = () => { // 首页部署在各个环境的端口 const loginPathMap = { prod: `//${window.location.hostname}:9080`, test: `//192.168.20.119:9080`, dev: `//192.168.8.107:8080` } return loginPathMap[environmentType()] } /* //POST传参序列化(添加请求拦截器) */ Axios.interceptors.request.use( (config) => { // // 若是有做鉴权token , 就给头部带上token // // let token = util.cookies.get("token"); // // if (token != undefined) { // // config.headers.Authorization = "Bearer " + token; // // } // let token = localStorage.getItem("token") let token = document.cookie.replace(/(?:(?:^|.*;\s*)token\s*=\s*([^;]*).*$)|^.*$/, "$1") if (isDev) { token = token || DEV_TOKEN } if (token) { config.headers.Authorization = "Bearer " + token } return config }, (error) => { return Promise.reject(error) } ) /* //返回状态判断(添加响应拦截器) */ Axios.interceptors.response.use( (res) => { console.log("99999", res) /* //对响应数据做些事 */ if (res.data.code === 200) { return res.data ? res.data : {} } else if ([2012, 2013, 2014, 2015].includes(res.data.code)) { if (isDev) { alert("JWT失效,即将跳转至登录页..") window.location = getApsPage() + "/login" } else { // JWT鉴权失效 跳转到登录页 window.location = getApsPage() + "/login" } // Message({ // message: res.data.msg, // type: "error", // duration: 5 * 1000 // }) return Promise.reject(res.data) } else if ([2036].includes(res.data.code)) { if (isDev) { window.location = getApsPage() + "/commonWeb?resetPwd=true" } else { // JWT鉴权失效 跳转到登录页 window.location = getApsPage() + "/commonWeb?resetPwd=true" } return Promise.reject(res.data) // if(window.location.pathname && window.location.pathname !== '/login'){ // window.location = window.location.origin+'/login' // } } else { return res.data ? res.data : {} } }, (error) => { // if (error.response.status === 401) { // if (isDev) { // alert("JWT失效,即将跳转至登录页..") // window.location = getApsPage() + "/login" // } else { // // JWT鉴权失效 跳转到登录页 // window.location = getApsPage() + "/login" // } // } let { message } = error if (message === "Network Error") { message = "后端接口连接异常" } else if (message.includes("timeout")) { message = "系统接口请求超时" } else if (message.includes("Request failed with status code")) { message = "系统接口" + message.substr(message.length - 3) + "异常" } Message({ message: message, type: "error", duration: 5 * 1000 }) return Promise.reject(error) } ) export default Axios