import { dd } from "../../../typings"; import Interceptor from "../../http/interceptor"; export default class MiniHttp { reqConfig: {}; handleRequest: (payload: any) => any; handleEncrypt?: (payload: any) => any; handleDecrypt?: (payload: any) => any; handleError?: (error: any) => void; interceptors: { request: Interceptor; response: Interceptor; }; constructor(options: dd.IMiniHttpOptions); static blockId: string; static requestLock: {}; /** * 加锁 * @param {string} id * @param {function} func */ lockR(id: any, func: any): void; /** * 解锁 * @param {string} id */ unlockR(id: any): void; /** * 根据URL和请求参数构造唯一标识符 * @param {object} req */ getIdFromReq(req: any): string; /** * 根据URL构造唯一标识符 * @param {object} req */ getIdFromReqUrl(req: any): any; /** * 请求函数 * @param {object} _payload 小程序 wx.request 可用参数 * @param {boolean} hasEncrypt 是否需要加密 */ _fetch(_payload: any, hasEncrypt: any): Promise; /** * 请求{name}接口 * @param {string} name * @param {object} payload */ request(name: string, payload: any): Promise; }