t-comm
Version:
专业、稳定、纯粹的工具库
36 lines (35 loc) • 1.24 kB
TypeScript
/**
* pmd-network 的 Cocos 兼容实现(搬迁自原 src/_shim/pmd-network.ts)
*
* - 仅运行于微信小游戏环境
* - 业务方在启动时必须调用 `initCocosNetwork(...)`(推荐)或
* `NetworkManager.instance.setRequestImpl(impl)` 注入网络实现
*
* 与原 @tencent/pmd-network 保持以下两个公共 API 兼容:
* - NetworkManager.instance.request(cfg)
* - post(cfg)
*
* 仓库内通过 tsconfig paths 把 '@tencent/pmd-network' 别名映射到本文件,
* 这样上游 sync 下来的 src/api.ts 中的 import 路径无需改动即可编译。
*/
export interface RequestConfig {
url: string;
reqData?: any;
extra?: {
withCredentials?: boolean;
headers?: Record<string, string>;
[k: string]: any;
};
alwaysResolve?: boolean;
[k: string]: any;
}
export type RequestImpl = (cfg: RequestConfig) => Promise<any>;
export declare class NetworkManager {
private static _instance;
private _impl;
static get instance(): NetworkManager;
/** 业务侧注入自定义网络实现 */
setRequestImpl(impl: RequestImpl): void;
request(cfg: RequestConfig): Promise<any>;
}
export declare function post(cfg: RequestConfig): Promise<any>;