| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- import { compose, initial } from "@dage/service";
- import { getTokenInfo, removeTokenInfo } from "@dage/pc-components";
- import { message } from "antd";
- import { NoticeType } from "antd/es/message/interface";
- import { ResponseStatusCode } from "./types";
- const showMessage = (msg: string, type: NoticeType = "error") => {
- message.open({
- type,
- content: msg,
- duration: 4,
- });
- };
- initial({
- fetch: window.fetch.bind(window),
- baseURL: process.env.REACT_APP_API_URL as string,
- interceptor: compose(
- (request, next) => {
- const { token } = getTokenInfo();
- if (token) {
- request.headers["token"] = token;
- }
- return next();
- },
- // 登陆失效
- async (request, next) => {
- const response = await next();
- if (
- [
- ResponseStatusCode.TOKEN_INVALID,
- ResponseStatusCode.TOKEN_INVALID2,
- ].includes(response.code)
- ) {
- showMessage("登录失效!");
- removeTokenInfo();
- globalThis.location.href = "#/login";
- }
- return response;
- }
- ),
- });
|