import { RequestFn, RequestOptions, Base62Param } from './types/httpRequest'; export default HttpRequest; declare class HttpRequest { /** * @param {string} [appKey] * @param {string} [appSecret] * @param {RequestFn} [reqFn] */ constructor(appKey?: string, appSecret?: string, reqFn?: RequestFn); /** * 初始化请求实例 * @param {string} [appKey] * @param {string} [appSecret] * @param {RequestFn} [reqFn] */ init: (appKey?: string, appSecret?: string, reqFn?: RequestFn) => void; /** * 发起请求,支持缓存与并发合并 * @param {RequestOptions} options * @param {boolean} [isCacheRequest] * @returns {any} 返回 Proxy 包裹的 Promise,支持链式调用 .then / .catch / .msg / .resp */ request: ({ url, method, ...params }: RequestOptions, isCacheRequest?: boolean) => any; /** * GET 请求 * @param {string} url * @param {Record} [params] */ get: (url: string, params?: Record) => any; /** * POST 请求 * @param {string} url * @param {unknown} [data] * @param {Record} [params] */ post: (url: string, data?: unknown, params?: Record) => any; /** * PUT 请求 * @param {string} url * @param {unknown} [data] * @param {Record} [params] */ put: (url: string, data?: unknown, params?: Record) => any; /** * DELETE 请求 * @param {string} url * @param {unknown} [data] * @param {Record} [params] */ del: (url: string, data?: unknown, params?: Record) => any; /** * 下载(待实现) * @param {string} url * @param {Record} [params] */ download: (url: string, params?: Record) => void; /** * 永久缓存 GET 请求 * @param {string} url * @param {Record} [params] */ cache: (url: string, params?: Record) => any; /** * 通过 Base62 编码参数请求列表接口 * @param {string} code * @param {Base62Param} [base62param] */ list: (code: string, base62param?: Base62Param) => any; getAppInfo: () => void; /** * 清除缓存 * @param {boolean} [isSystem] 是否同时清除系统缓存(`/_/` 路由) */ refreshCache: (isSystem?: boolean) => void; /** * 解码 Base62 字符串为 JSON 对象 * @param {string} [str] * @param {object} [defaultValue] * @returns {unknown} */ decode: (str?: string, defaultValue?: object) => unknown; /** * 将 JSON 对象编码为 Base62 字符串 * @param {Record | unknown[]} [json] * @returns {string} */ encode: (json?: Record | unknown[]) => string; #private; } declare namespace HttpRequest { /** * 全局未处理 rejection 处理器,适配浏览器和 Node 环境 * @param {any} e */ function onUnhandledRejection(e: any): void; /** * 全局消息回调,默认打印到控制台 * @param {number} code * @param {string} msg */ function onMsg(code: number, msg: string): void; }