import Axios, { Method, InternalAxiosRequestConfig, AxiosResponse } from 'axios'; export { Axios }; export type RequestMethods = Extract; export interface HttpRequest extends InternalAxiosRequestConfig { requestHandler?: (request: HttpRequest) => T; requestErrorHandler?: (error: Error) => void; responseHandler?: (response: HttpResponse) => T; responseErrorHandler?: (error: Error) => void; } export interface HttpResponse extends AxiosResponse { requestConfig?: HttpRequest; } export declare function createHttp(options: HttpRequest): Http; export default class Http { private static service; private static httpRequestConfig; private serviceConfig; constructor(configs: HttpRequest); /**请求拦截 */ private requestUse; private responseUse; /** 通用请求工具函数 */ request(method: RequestMethods, url: string, param?: Partial): Promise; /** * T 返回类型, P 请求配置 * @param url 接口地址 * @param data 传参 * @param config HttpRequestConfig对象,可选项,不传时默认使用初始化时的配置 * @returns */ post>(url: string, data: any, config?: P): Promise; get>(url: string, data: any, config?: P): Promise; }