UNPKG

t-comm

Version:

专业、稳定、纯粹的工具库

52 lines (49 loc) 1.74 kB
import _classCallCheck from '@babel/runtime/helpers/classCallCheck'; import _createClass from '@babel/runtime/helpers/createClass'; /** * 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 路径无需改动即可编译。 */ var NetworkManager = /*#__PURE__*/function () { function NetworkManager() { _classCallCheck(this, NetworkManager); this._impl = null; } return _createClass(NetworkManager, [{ key: "setRequestImpl", value: /** 业务侧注入自定义网络实现 */ function setRequestImpl(impl) { this._impl = impl; } }, { key: "request", value: function request(cfg) { if (!this._impl) { return Promise.reject(new Error('[pmd-api-cocos] NetworkManager 尚未初始化,' + '请在应用启动时调用 initCocosNetwork(...) 或 ' + 'NetworkManager.instance.setRequestImpl(...) 注入网络实现')); } return this._impl(cfg); } }], [{ key: "instance", get: function get() { if (!NetworkManager._instance) { NetworkManager._instance = new NetworkManager(); } return NetworkManager._instance; } }]); }(); function post(cfg) { return NetworkManager.instance.request(cfg); } export { NetworkManager, post };