configure.ts 953 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. import { compose, initial } from "@dage/service";
  2. import { getTokenInfo, removeTokenInfo } from "@dage/pc-components";
  3. import { message } from "antd";
  4. import { NoticeType } from "antd/es/message/interface";
  5. const showMessage = (msg: string, type: NoticeType = "error") => {
  6. message.open({
  7. type,
  8. content: msg,
  9. duration: 4,
  10. });
  11. };
  12. initial({
  13. fetch: window.fetch.bind(window),
  14. baseURL: process.env.REACT_APP_API_URL as string,
  15. interceptor: compose(
  16. (request, next) => {
  17. const { token } = getTokenInfo();
  18. if (token) {
  19. request.headers["token"] = token;
  20. }
  21. return next();
  22. },
  23. // 登陆失效
  24. async (request, next) => {
  25. const response = await next();
  26. if ([5001, 5002].includes(response.code)) {
  27. const msg = "登录失效!";
  28. showMessage(msg);
  29. removeTokenInfo();
  30. globalThis.location.href = "#/login";
  31. }
  32. return response;
  33. }
  34. ),
  35. });