You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
1.8 KiB
76 lines
1.8 KiB
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'
|
|
|
|
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,
|
|
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
|
|
|