axiosCfg.js 1006 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. //Http配置
  2. import Axios from 'axios'
  3. import {
  4. ElMessage
  5. } from 'element-plus'
  6. import router from "../../router"
  7. import TokenManager from "./token"
  8. Axios.defaults.headers['channel'] = 'bms';
  9. /**
  10. * 拦截http请求
  11. */
  12. Axios.interceptors.request.use(config => {
  13. const tokenStr = TokenManager.getToken();
  14. if (tokenStr != null) config.headers['token'] = JSON.parse(TokenManager.getToken()).token;
  15. return config;
  16. });
  17. /**
  18. * 拦截http响应
  19. */
  20. Axios.interceptors.response.use(res => {
  21. switch (res.data.status) { //状态码
  22. case 200:
  23. return res.data;
  24. case 300: //警告
  25. ElMessage.error(res.data.msg);
  26. break;
  27. case 400: //无权限
  28. ElMessage.error("请先登录");
  29. router.replace("/login");
  30. break;
  31. case 500: //服务器错误
  32. ElMessage.error("服务器开小差了");
  33. break;
  34. default: //无状态码
  35. ElMessage.error("请求状态异常");
  36. break;
  37. }
  38. throw "stop";
  39. },
  40. error => {
  41. console.log(error);
  42. throw "stop";
  43. });
  44. export default Axios