/*** * @file: * @author: caojianping * @Date: 2021-06-04 16:38:32 */ import { AxiosRequestConfig } from 'axios'; import { HttpTypeEnum } from '../shared/enums'; import { IHttpHandler, ITokenHandler, ILoadingHandler, IResponseHandler } from '../shared/interfaces'; /** * axios封装类 */ export declare class Caxios implements IHttpHandler { private commonOptions; private tokenHandler?; private loadingHandler?; private responseHandler?; constructor(commonOptions?: any, tokenHandler?: ITokenHandler, loadingHandler?: ILoadingHandler, responseHandler?: IResponseHandler); /** * 设置基础选项 * @param options 参数选项 * @param url 请求地址 * @param method 请求方法 * @param contentType 内容类型 * @param data 请求数据 */ private setBasicOptions; /** * 设置Content-Type * @param options 参数选项 * @param contentType 内容类型 * @returns 新的参数选项 */ private setContentType; /** * 设置数据 * @param options 参数选项 * @param method 请求方法 * @param contentType 内容类型 * @param data 请求数据 * @returns void */ private setData; /** * 设置Loading * @param type http类型枚举 * @param isShow 是否显示loading * @returns void */ private setLoading; /** * 设置CancelToken * @param options 参数选项 */ private setCancelToken; /** * 设置Authorization * @param options 参数选项 * @param type http类型枚举 * @returns void */ private setAuthorization; /** * axios调用 * @param options 参数选项 * @param type http类型枚举 * @returns Promise */ invoke(options?: AxiosRequestConfig, type?: HttpTypeEnum): Promise; /** * 【GET方法】 * @param url 请求地址 * @param data 请求数据 * @param type http类型枚举 * @returns Promise */ get(url: string, data?: any, type?: HttpTypeEnum): Promise; /** * 【POST方法】:表单方式 * @param url 请求地址 * @param data 请求数据 * @param type http类型枚举 * @returns Promise */ post(url: string, data?: any, type?: HttpTypeEnum): Promise; /** * 【POST方法】:JSON方式 * @param url 请求地址 * @param data 请求数据 * @param type http类型枚举 * @returns Promise */ postJson(url: string, data?: any, type?: HttpTypeEnum): Promise; }