1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- //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
|