1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- //Http配置
- import Axios from 'axios'
- import {
- ElMessage
- } from 'element-plus'
- import router from "../../router"
- import TokenManager from "./token"
- Axios.defaults.headers['channel'] = 'bms';
- /**
- * 拦截http请求
- */
- Axios.interceptors.request.use(config => {
- const tokenStr = TokenManager.getToken();
- if (tokenStr != null) config.headers['token'] = JSON.parse(TokenManager.getToken()).token;
- return config;
- });
- /**
- * 拦截http响应
- */
- Axios.interceptors.response.use(res => {
- switch (res.data.status) { //状态码
- case 200:
- return res.data;
- case 300: //警告
- ElMessage.error(res.data.msg);
- break;
- case 400: //无权限
- ElMessage.error("请先登录");
- router.replace("/login");
- break;
- case 500: //服务器错误
- ElMessage.error("服务器开小差了");
- break;
- default: //无状态码
- ElMessage.error("请求状态异常");
- break;
- }
- throw "stop";
- },
- error => {
- console.log(error);
- throw "stop";
- });
- export default Axios
|