@10yun/cv-js-utils
Version:
常用 js-utils 工具类库
105 lines (96 loc) • 2.42 kB
TypeScript
// import type { AxiosResponse } from 'axios';
interface HttpTypeOptions {
baseURL?: string;
storeHandle?: any;
flagMap?: object;
requests?: object;
headers?: object;
timeout?: number;
retries?: Number;
encryptURL?: Array<string>; // 需要加密的url
}
interface TypeOption {
// onDownloadProgress?: (progressEvent: AxiosProgressEvent) => void;
// signal?: GenericAbortSignal;
}
interface TypeNetResponse<T = any> {
data: T;
message: string | null;
status: number;
}
interface TypeNetError {
message?: string;
msg?: string;
type?: string;
}
// 指定 api 后端返回的基本数据类型
interface TypeNetApiData {
code: number;
status: number;
data: any;
msg: string;
}
declare class RequestClass {
storeHandle: any;
baseURL: string;
flagMap: object;
// 参数
requests: object;
headers: object;
configs: object;
//
creSett: object;
reqObj: any;
// 构造函数
constructor(options: HttpTypeOptions);
/**
* 设置 API
*/
setApiFlag(options: object);
appendApiFlag(options: object);
setApiAuth(options: object);
appendApiAuth(options: object);
// 设置 头部参数
setDefHeaders(options: object);
setHeaders(options: object);
// 获取 头部参数
getHeaders();
// 设置 request
setDefRequests(options: object);
setRequests(options: object);
// 设置 配置参数
setOptions(options: object);
// 设置 自定义配置
setCustom(options: object);
/**
* 设置缓存
*/
cacheLocal(key: String);
cacheSession(key: String);
/**
* 加密
*/
encrypt();
// flag 请求
flagGet(...arg: any[]): Promise<any>;
flagPost(...arg: any[]): Promise<any>;
flagPut(...arg: any[]): Promise<any>;
flagPatch(...arg: any[]): Promise<any>;
flagDel(...arg: any[]): Promise<any>;
flagUpload(...arg: any[]): Promise<any>;
flagUpImg(...arg: any[]): Promise<any>;
// url 请求
urlGet(...arg: any[]): Promise<any>;
urlPost(...arg: any[]): Promise<any>;
urlPut(...arg: any[]): Promise<any>;
urlPatch(...arg: any[]): Promise<any>;
urlDel(...arg: any[]): Promise<any>;
urlUpload(...arg: any[]): Promise<any>;
urlUpImg(...arg: any[]): Promise<any>;
// mock 请求
flagMockPost(...arg: any[]): Promise<any>;
flagMockGet(...arg: any[]): Promise<any>;
urlMockPost(...arg: any[]): Promise<any>;
urlMockGet(...arg: any[]): Promise<any>;
}
export default RequestClass;