import { AxiosInstance, AxiosRequestConfig } from 'axios'; interface AxiosRefreshOptions { /** * Array[number] 需要刷新的状态码列表 */ refreshStatus: Number[]; /** * 刷新 token 的 Promise 方法,需要返回新的 token */ refreshAction: () => Promise; /** * 判断是否是刷新的请求,是的话,则不走默认 config 配置 */ isRefreshRequest: (config: AxiosRequestConfig) => boolean; /** * 重新发送请求之前需要更新 config 配置 */ onRetry: (config: AxiosRequestConfig, newToken: string) => AxiosRequestConfig; /** * */ shouldRefresh: (status: number) => boolean; /** * 是否在刷新 */ refreshing: boolean; /** * 待重新请求的列表 */ requests: Function[]; /** * 重试次数 */ retryTimes: number; handleFreshError(error: Error): void; } export default function axiosRefreshToken(axios: AxiosInstance, options?: AxiosRefreshOptions): void; export {};