import 'axios' declare module 'axios' { /** * @description 修改返回的类型为拦截器返回的值的类型 */ export type AxiosCustomizeResponse = Record & T export type AxiosCustomPromise = Promise export type AxiosRequest = (...args: any[]) => AxiosCustomPromise export type AxiosResponseType = T extends () => AxiosCustomPromise ? K : T export interface AxiosRequestConfig { /** * @description 某些接口需要排除token校验则设置false默认为true */ ignoreToken?: boolean /** * @description true -> 返回 response.data | false -> response */ returnData?: boolean scenario?: string } export interface AxiosInstance { (config: AxiosRequestConfig): AxiosCustomPromise (url: string, config?: AxiosRequestConfig): AxiosCustomPromise defaults: AxiosRequestConfig interceptors: { request: AxiosInterceptorManager response: AxiosInterceptorManager } getUri(config?: AxiosRequestConfig): string request>( config: AxiosRequestConfig ): Promise get>( url: string, config?: AxiosRequestConfig ): Promise delete>( url: string, config?: AxiosRequestConfig ): Promise head>( url: string, config?: AxiosRequestConfig ): Promise options>( url: string, config?: AxiosRequestConfig ): Promise post>( url: string, data?: any, config?: AxiosRequestConfig ): Promise put>( url: string, data?: any, config?: AxiosRequestConfig ): Promise patch>( url: string, data?: any, config?: AxiosRequestConfig ): Promise } }