UNPKG

t-comm

Version:

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

62 lines (55 loc) 2.17 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var _classCallCheck = require('@babel/runtime/helpers/classCallCheck'); var _createClass = require('@babel/runtime/helpers/createClass'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck); var _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_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__default["default"](this, NetworkManager); this._impl = null; } return _createClass__default["default"](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); } exports.NetworkManager = NetworkManager; exports.post = post;