UNPKG

ucc-utils

Version:
53 lines (49 loc) 1.93 kB
import { AxiosResponse, AxiosRequestConfig, InternalAxiosRequestConfig, AxiosInstance } from 'axios'; interface IAppInterceptors<T = AxiosResponse> { requestSuccessFn?: (config: AxiosRequestConfig) => InternalAxiosRequestConfig | any; requestFailureFn?: (err: any) => any; responseSuccessFn?: (res: T) => T; responseFailureFn?: (err: any) => any; } interface IAppRequestConfig<T = AxiosResponse> extends Partial<InternalAxiosRequestConfig> { interceptors?: IAppInterceptors<T>; } /** * AppRequest类 * @class AppRequest * @param {IAppRequestConfig} config * @description AppRequest类 * @example * ```js * const request = new AppRequest({ * baseURL: '', * timeout: 5000, * interceptors: { * requestSuccessFn(cfg) { * return cfg * }, * requestFailureFn(){}, * responseSuccessFn(){}, * responseFailureFn(){} * } * }) * ``` */ declare class AppRequest { instance: AxiosInstance; constructor(config: IAppRequestConfig); request<T = any>(config: IAppRequestConfig<T>): Promise<T>; get<T = any>(config: IAppRequestConfig<T>): Promise<T>; post<T = any>(config: IAppRequestConfig<T>): Promise<T>; delete<T = any>(config: IAppRequestConfig<T>): Promise<T>; patch<T = any>(config: IAppRequestConfig<T>): Promise<T>; put<T = any>(config: IAppRequestConfig<T>): Promise<T>; } type request_AppRequest = AppRequest; declare const request_AppRequest: typeof AppRequest; type request_IAppInterceptors<T = AxiosResponse> = IAppInterceptors<T>; type request_IAppRequestConfig<T = AxiosResponse> = IAppRequestConfig<T>; declare namespace request { export { request_AppRequest as AppRequest, type request_IAppInterceptors as IAppInterceptors, type request_IAppRequestConfig as IAppRequestConfig, AppRequest as default }; } export { AppRequest as A, type IAppInterceptors as I, type IAppRequestConfig as a, request as r };