request.js 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import store from "@/store";
  2. import axios from 'axios';
  3. import {getStorage, removeItem} from '@/utils/localStorage'
  4. var requestCount = 0; //记录下同时的请求数
  5. // import ElementUI from 'element-ui';
  6. var showToast = true;
  7. axios.defaults.headers.post['elabEnvironment'] = '4'; //axios默认的请求方式,可以自己设置
  8. axios.defaults.headers.post['userType'] = '1000'; //axios默认的请求方式,可以自己设置
  9. axios.interceptors.request.use(function(config) {
  10. if(config.noLoading){
  11. store.dispatch('setLoading',false);//不显示loading态
  12. }
  13. if(!config.url.includes('aiGenerateImg/getResult') &&
  14. !config.url.includes('aiGenerateImg/uploadImgControlNet') &&
  15. !config.url.includes('aiGenerateImg/img2Img')){
  16. requestCount++;//请求数+1
  17. }
  18. if (config.url.includes('http')) {
  19. return config;
  20. } else {
  21. config.url = window.$config.api_url + config.url;
  22. if (config.url.includes('elab-marketing-operate/mofangTest/user/login')||config.url.includes('elab-marketing-user/vcode/send/verifyCode')) {
  23. config.headers['userId'] = "";
  24. config.headers['ip'] = "";
  25. showToast = true;
  26. } else {//uploadOss 上传format文件过大时提示不成功,接口500,通过测试与header有关,注释掉上传的header就好了
  27. if (!config.url.includes('elab-marketing-sms/aliyun/openapi/uploadOss')){
  28. let userinfo = getStorage('userInfoThing');
  29. config.headers['userId'] = userinfo ? JSON.parse(userinfo).dataUserId : '';
  30. config.headers['ip'] = getStorage('ip');
  31. config.headers['maiya_token'] = getStorage('userInfoThing') ? JSON.parse(getStorage('userInfoThing')).maiya_token || "" : ""; //token
  32. }
  33. }
  34. }
  35. return config;
  36. }, function(error) {
  37. console.log(error)
  38. });
  39. axios.interceptors.response.use(function(response) {
  40. if(!response.config.url.includes('aiGenerateImg/getResult') &&
  41. !response.config.url.includes('aiGenerateImg/uploadImgControlNet') &&
  42. !response.config.url.includes('aiGenerateImg/img2Img')){
  43. requestCount = requestCount - 1;
  44. }
  45. if (requestCount < 1) {
  46. store.state.loading = false;//不显示loading状态
  47. }
  48. let result = response.data;
  49. return result;
  50. }, function(error) {
  51. console.log("***error***", error, requestCount)
  52. if( !error.config.url.includes('aiGenerateImg/getResult') &&
  53. !error.config.url.includes('aiGenerateImg/uploadImgControlNet') &&
  54. !error.config.url.includes('aiGenerateImg/img2Img')){
  55. requestCount = requestCount - 1;
  56. }
  57. if (requestCount < 1) {
  58. store.state.loading = false;//不显示loading状态
  59. }
  60. let result = error.response;
  61. return result;
  62. });
  63. export default axios;