app.ts 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import { message } from "antd";
  2. import type { RequestConfig } from "umi";
  3. export const request: RequestConfig = {
  4. timeout: 20000,
  5. // other axios options you want
  6. errorConfig: {
  7. errorHandler(err) {
  8. console.log(err);
  9. },
  10. errorThrower() {},
  11. },
  12. requestInterceptors: [
  13. (url, options) => {
  14. const baseUrl = process.env.NODE_ENV === "production" ? "" : "/api"; //'http://ab.dev.jbpm.shalu.com' // https://edesign.shalu.com'
  15. const enterpriseCode = sessionStorage.getItem("enterpriseCode");
  16. const token = localStorage.getItem("token_" + enterpriseCode);
  17. if (token) {
  18. if (!options.headers) {
  19. options.headers = {};
  20. }
  21. if(!options.headers?.Authorization) {
  22. options.headers.Authorization = token;
  23. }
  24. }
  25. return {
  26. url: url?.includes("//:") ? url : baseUrl + url,
  27. options,
  28. };
  29. },
  30. ],
  31. responseInterceptors: [
  32. (response) => {
  33. const { data = {} as any, config } = response;
  34. if (data?.error) {
  35. message.error(data.error);
  36. return Promise.reject(data.error);
  37. }
  38. return response;
  39. },
  40. ],
  41. };