import { hasOwn } from 'uni-shared' import { initWebviewApi as initAppplusWebviewApi } from 'uni-platforms/app-plus/runtime/web-view' import { initWebviewApi as initH5WebviewApi } from 'uni-platforms/h5/runtime/web-view' import { initWebviewApi as initAlipayWebviewApi } from 'uni-platforms/mp-alipay/runtime/web-view' import { initWebviewApi as initBaiduWebviewApi } from 'uni-platforms/mp-baidu/runtime/web-view' import { initWebviewApi as initQQWebviewApi } from 'uni-platforms/mp-qq/runtime/web-view' import { initWebviewApi as initToutiaoWebviewApi } from 'uni-platforms/mp-toutiao/runtime/web-view' import { initWebviewApi as initWeixinWebviewApi } from 'uni-platforms/mp-weixin/runtime/web-view' import { initWebviewApi as initQuickappWebviewApi } from 'uni-platforms/quickapp-webview/runtime/web-view' import { initWebviewApi as initKuaishouWebviewApi } from 'uni-platforms/mp-kuaishou/runtime/web-view' import { initWebviewApi as initLarkWebviewApi } from 'uni-platforms/mp-lark/runtime/web-view' import { initWebviewApi as initJDWebviewApi } from 'uni-platforms/mp-jd/runtime/web-view' import { initWebviewApi as initXhsWebviewApi } from 'uni-platforms/mp-xhs/runtime/web-view' const UniAppJSBridgeReady = function () { window.UniAppJSBridge = true document.dispatchEvent(new CustomEvent('UniAppJSBridgeReady', { bubbles: true, cancelable: true })) } const initWebviewApis = [ initAppplusWebviewApi, initWeixinWebviewApi, initQQWebviewApi, initAlipayWebviewApi, initBaiduWebviewApi, initToutiaoWebviewApi, initQuickappWebviewApi, initKuaishouWebviewApi, initLarkWebviewApi, initJDWebviewApi, initXhsWebviewApi, initH5WebviewApi ] let webViewApi for (let i = 0; i < initWebviewApis.length; i++) { webViewApi = initWebviewApis[i](UniAppJSBridgeReady) if (webViewApi) { break } } if (!webViewApi) { webViewApi = {} } const api = typeof uni !== 'undefined' ? uni : {} if (!api.navigateTo) { for (const key in webViewApi) { if (hasOwn(webViewApi, key)) { api[key] = webViewApi[key] } } } api.webView = webViewApi export default api