//Http配置 import Axios from 'axios' import { Message } from 'element-ui' import router from "../../router" import TokenManager from "./TokenManager" Axios.defaults.timeout = 10000; // 超时时间 Axios.defaults.headers['verify'] = 'bms'; // 验证 Axios.defaults.headers['Content-Type'] = `application/x-www-form-urlencoded`; /** * 拦截http请求 */ Axios.interceptors.request.use(config => { // 判断是否存在token,如果存在的话,则每个http header都加上token try { const obj = JSON.parse(TokenManager.getToken()); config.headers['token'] = obj.token; } catch { return config; } return config; }); /** * 拦截http响应 */ Axios.interceptors.response.use(res => { const status = res.data.status; //状态码 switch (status) { case 300: //警告 Message.warning({ message: res.data.msg }); return reject(res); case 401: //权限不足 Message.warning({ message: "验证信息过期,请重新登录", duration: 5000 }); router.replace("/login"); return reject(res); //服务器错误 case 500: Message.error({ message: "服务器开小差了" }); return reject(res); default: return res.data; } }, error => { Message.error("接口异常"); }); export default Axios