UNPKG

miniapp-web-jsapi

Version:

JSAPI/View adapter for miniprogram running on the web

42 lines 1.52 kB
import JsUtils from "../../utils/js-utils"; export function call(apiName, params) { var _params$fail, _params$complete; // 优先使用外部注册的 var func = jsApiExtensions[apiName]; if (func) { return func.call(undefined, params); } // 使用挂载到 my 上的 func = window.my ? window.my[apiName] : undefined; if (JsUtils.isFunction(func)) { return func.call(undefined, params); } console.error("** JSAPI ".concat(apiName, " not exists!")); params === null || params === void 0 ? void 0 : (_params$fail = params.fail) === null || _params$fail === void 0 ? void 0 : _params$fail.call(params, new Error("".concat(apiName, " is not exists"))); params === null || params === void 0 ? void 0 : (_params$complete = params.complete) === null || _params$complete === void 0 ? void 0 : _params$complete.call(params, {}); } export var jsApiExtensions = {}; /** * 注册 JSAPI 扩展 * * @param apiName JSAPI 名称 * @param func JSAPI 执行方法 * @param attachToMy 是否挂载到全局的 my 对象上 */ export function registerJsApiExtension(apiName, func, attachToMy) { if (attachToMy) { window.my[apiName] = func; } else { jsApiExtensions[apiName] = func; } } /** * 创建不支持的 JSAPI 实现 * @param apiName JSAPI 名称 * @param message 其他提示消息 */ export function createUnsupportedJsApi(apiName, message) { return function () { console.warn("** [miniapp-web-jsapi] JSAPI ".concat(apiName, " unsupported: ").concat(message)); }; }