/** * 请求适配器基类 */ import { AxiosInstance, AxiosError, AxiosResponse } from 'axios'; import { AxiosRequestConfigExtend, ResponseDataType, ClientSettingType, ClientSDKType } from '../utils'; declare class AdapterBase { initData: AxiosRequestConfigExtend; clientSDK: ClientSDKType; clientSetting: ClientSettingType; requestMaxNum: number; isRequestInit: boolean; hasInit: boolean; needInitJSSDK: boolean; requestNumList: any; /** * 是否初始化SDK */ hasInitJSSDK: boolean; /** * 重置会话状态 * @param onResetSessionAfter */ resetSession(onResetSessionAfter?: () => void): void; /** * 失败重试 * @param response * @param initUri * @param instanceBase */ requestRetry(response: AxiosResponse, initUri: string, instanceBase: AxiosInstance): ResponseDataType; /** * 会话只请求一次,而且在所有请求之前 * @param config * @param initUri * @param initRequest */ requestOnce(config: AxiosRequestConfigExtend, initUri: string, initRequest: () => Promise): Promise; /** * 初始化会话 * @param config * @param initUri * @param initRequest * @param setToken */ addRequestOnce(config: AxiosRequestConfigExtend, initUri: string, initRequest: () => Promise, setToken: (confing: AxiosRequestConfigExtend) => any): any; getAxiosOptions(): AxiosRequestConfigExtend; /** * 请求成功 * @param config * @param requestInstance Axios实例 */ requestSuccess(config: AxiosRequestConfigExtend, requestInstance?: AxiosInstance): Promise; /** * 获取上传请求头 * @param requestInstance Axios实例 */ getUploadHeader(requestInstance: AxiosInstance): object; /** * 请求失败 * @param error */ requestError(error: AxiosError): Promise; /** * 响应成功 * @param response */ responseSuccess(response: AxiosResponse, requestInstance?: AxiosInstance): ResponseDataType; /** * 响应失败 * @param error */ responseError(error: AxiosError): ResponseDataType; } export default AdapterBase;