request.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import axios from "axios";
  2. import store from '../store/index'
  3. import BASE from '@tools/basicTool.js';
  4. // import { getToken } from "@/utils/storage";
  5. const service = axios.create();
  6. service.defaults.timeout = 50000;
  7. service.defaults.baseURL = `${process.env.VUE_APP_API}`
  8. service.interceptors.request.use(
  9. config => {
  10. config.headers = {
  11. // Authorization: store.state.token,
  12. }
  13. // 统一格式包装请求参数
  14. if (config.showLoading) {
  15. BASE.showLoading();
  16. service.defaults.showLoading = config.showLoading
  17. }
  18. return config;
  19. },
  20. error => {
  21. return Promise.reject(error);
  22. }
  23. );
  24. service.interceptors.response.use(
  25. // Loading.close(),
  26. response => {
  27. // 处理正常返回数据
  28. const { status } = response;
  29. if(service.defaults.showLoading){
  30. BASE.closeLoading();
  31. service.defaults.showLoading = false
  32. }
  33. if (
  34. status === 200
  35. ) {
  36. return response.data;
  37. } else {
  38. return false;
  39. }
  40. },
  41. error => {
  42. // 处理错误并给出相应的错误处理
  43. if (error.response) {
  44. // const { status } = error.response;
  45. // tips[status](error);
  46. return error.response.data
  47. } else {
  48. return false;
  49. }
  50. }
  51. );
  52. export default service;