request.js 2.7 KB

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