UNPKG

@morjs/runtime-mini

Version:

mor runtime for miniprogram

86 lines 3.35 kB
import * as apisToAlipay from './alipay/apisToAlipay'; import * as apisToOther from './alipay/apisToOther'; import * as otherComponentToAlipay from './alipay/componentToAlipay'; import * as alipayComponentToOther from './alipay/componentToOther'; import * as pageToAlipay from './alipay/pageToAlipay'; import * as alipayPageToOther from './alipay/pageToOther'; import * as apisToBaidu from './baidu/apis'; import * as apisToByteDance from './bytedance/apis'; import * as apisToKuaishou from './kuaishou/apis'; import * as apisToQQ from './qq/apis'; import * as apisToWechat from './wechat/apis'; import * as wechatComponentToOther from './wechat/componentToOther'; import * as wechatPageToOther from './wechat/pageToOther'; /** * 初始化转端适配逻辑 * @param sourceType - 源码类型 * @param target - 目标平台 */ export function initAdapters(options) { var _a = options || {}, sourceType = _a.sourceType, target = _a.target, createApi = _a.createApi, registerComponentAdapters = _a.registerComponentAdapters, registerPageAdapters = _a.registerPageAdapters; // 源码和目标平台一致时不转换 if (sourceType === target) return; // target 的 adapter 需要放在 source adapter 之前 // 和编译时自动注入逻辑保持一致 var componentAdapters = []; var pageAdapters = []; var apiAdapters = []; // 支付宝转其他端 if (sourceType === 'alipay') { switch (target) { case 'wechat': apiAdapters.push(apisToWechat); break; case 'baidu': apiAdapters.push(apisToBaidu); break; case 'bytedance': apiAdapters.push(apisToByteDance); break; case 'qq': apiAdapters.push(apisToQQ); break; case 'kuaishou': apiAdapters.push(apisToKuaishou); break; } componentAdapters.push(alipayComponentToOther); pageAdapters.push(alipayPageToOther); apiAdapters.push(apisToOther); } // 微信转其他端 else if (sourceType === 'wechat') { switch (target) { case 'alipay': componentAdapters.push(otherComponentToAlipay); pageAdapters.push(pageToAlipay); apiAdapters.push(apisToAlipay); break; case 'baidu': apiAdapters.push(apisToBaidu); break; case 'bytedance': componentAdapters.push(otherComponentToAlipay); pageAdapters.push(pageToAlipay); apiAdapters.push(apisToByteDance); break; case 'qq': apiAdapters.push(apisToQQ); break; case 'kuaishou': componentAdapters.push(wechatComponentToOther); pageAdapters.push(wechatPageToOther); apiAdapters.push(apisToKuaishou); break; } } // 注入多端适配 if (componentAdapters.length) registerComponentAdapters(componentAdapters); if (pageAdapters.length) registerPageAdapters(pageAdapters); if (apiAdapters.length) createApi(apiAdapters, {}).override(); } //# sourceMappingURL=index.js.map