axios.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import axios from 'axios';
  2. import router from './router';
  3. import { Notification } from 'element-ui';
  4. import { Loading } from 'element-ui';
  5. axios.defaults.baseURL = 'https://miniapp.cqjudong.com/base';
  6. //axios.defaults.baseURL = 'http://localhost:8081';
  7. const request = axios.create({
  8. timeout: 10000,
  9. headers: {
  10. 'Content-Type': 'application/json; charset=utf-8'
  11. }
  12. });
  13. let loading;
  14. let options = {};
  15. request.interceptors.request.use(config => {
  16. config.headers['Authorization'] = localStorage.getItem('token');
  17. loading = Loading.service(options);
  18. return config;
  19. });
  20. request.interceptors.response.use(response => {
  21. let res = response.data;
  22. if (loading) {
  23. loading.close();
  24. }
  25. if (res.code === 200) {
  26. return response;
  27. } else {
  28. Notification.error({
  29. title: '错误',
  30. message: res.msg
  31. });
  32. }
  33. }, error => {
  34. if (loading) {
  35. loading.close();
  36. }
  37. if (error.response.data) {
  38. error.massage = error.response.data.msg;
  39. }
  40. // 没有权限
  41. if (error.response.status === 401) {
  42. router.push('/login');
  43. }
  44. Notification.error(error.massage);
  45. return Promise.reject(error);
  46. });
  47. export default request;