UNPKG

unselfish

Version:
109 lines (108 loc) 3.61 kB
declare namespace QueUtils { type lazyType = { lazyAttr: string; loadType: string; }; type intersectionOptionsType = { root: Element; rootMargin: string; threshold: number; }; type FileType = { filetype: string; mimetype: string | string[]; }; interface XHRParams { /** 请求的基础路径 */ baseUrl: string; /** 请求路径 */ url?: string; /** 请求方法 */ method: "GET" | "POST" | "PUT" | "DELETE" | "OPTIONS" | "TRACH" | "HEAD" | "CONNECT"; /** 是否严格要求请求返回的状态码 */ strict?: boolean; /** * 传参对象 * * ### `json`传参则为`object` * ```js * const data = { price: 999, shopName: "商品名称" } * ``` * * ### 上传图片时为`FormData` * ```js * const data = new FormData(); * data.append("img", file); // `img`是跟后台约定好的`key`字段 * ``` * * ### 普通表单传参使用 * ```js * const data = "name=hjs&id=123"; * ``` */ data?: object | string | FormData; /** 超时毫秒 */ overtime?: number; /** `XMLHttpRequest.header`设置对象 */ headers?: { [key: string]: string; }; /** * 接口数据响应类型 * - 默认`json` */ responseType: XMLHttpRequestResponseType; /**响应的结果是否序列化*/ serialization?: boolean; /** 成功回调 */ success( /** 响应结果 */ res: any, /** 响应原数据结果 */ response: XMLHttpRequest): void; /** 失败回调 */ fail?(value: XMLHttpRequest): void; /** 超时回调 */ timeout?(value: XMLHttpRequest): void; /** 请求进度 */ progress?(event: ProgressEvent<XMLHttpRequestEventTarget>): void; } class initApp { constructor(); protected Initialization(): string; } export class Que extends initApp { constructor(); static debounce(): (fun: Function, param: any[], time: number, firstEffect?: boolean) => void; static throttle(): (fun: Function, param: any[], time: number, firstEffect?: boolean) => void; static lazyLoading(lazyParams: lazyType, intersectionOptions?: intersectionOptionsType): { update: Function; observer: IntersectionObserver; }; static fetchRequest(method: string, url: string, data: object, headers?: HeadersInit, timeout?: number): Promise<unknown>; /**计算(utf-8字符集)字符的字节数 */ static byteLength(_data: string): number; /** * * @param {any} target * @returns {string} */ static checkType(target: any): string; /** 根据头部文件判断文件的类型以及 MIME Type */ static getFileMimeType(buffer: ArrayBuffer): FileType; /** * * @param {XHRParams} parameter 传参对象 */ static XHRRequest<T>(parameter: XHRParams): Promise<T>; /** * * @param {any} obj 需要clone的对象 * */ static deepClone(target: any): any; } export {}; } declare const _default: typeof QueUtils.Que; export default _default;