request.js 901 B

1234567891011121314151617181920212223242526272829303132
  1. define([
  2. 'axios',
  3. 'ELEMENT'
  4. ], function (axios, ELEMENT) {
  5. var instance = axios.create({
  6. baseURL: window.location.origin + '/web',
  7. timeout: 10000,
  8. headers: {
  9. 'X-Requested-With': 'XMLHttpRequest'
  10. },
  11. withCredentials: true
  12. });
  13. var loadingInstance = null;
  14. instance.interceptors.request.use(function (config) {
  15. loadingInstance = ELEMENT.Loading.service({
  16. background: 'transparent'
  17. });
  18. return config;
  19. }, function (error) {
  20. return Promise.reject(error);
  21. });
  22. instance.interceptors.response.use(function (response) {
  23. loadingInstance.close();
  24. if (response.data.code === 200) {
  25. return response.data;
  26. }
  27. return Promise.reject(response.data);
  28. }, function (error) {
  29. return Promise.reject(error);
  30. });
  31. return instance;
  32. });