创建jsBridge.js
/* eslint-disable */
function connectWebViewJavascriptBridge (callback) {if (window.WebViewJavascriptBridge) {callback(window.WebViewJavascriptBridge)} else {document.addEventListener('WebViewJavascriptBridgeReady', function () { callback(window.WebViewJavascriptBridge) }, false)}
}
//链接js桥(链接成功后才可使用)
connectWebViewJavascriptBridge(function (bridge) {bridge.init(function (message, responseCallback) {console.log('JS got a message', message)if (responseCallback) {console.log('JS responding with', data)}})
})
export default {//js调APP方法 (参数分别为:app提供的方法名 传给app的数据 回调)callhandler: function (method, params, callback) {connectWebViewJavascriptBridge(function (bridge) {bridge.callHandler(method, params, callback)})},// APP调js方法 (参数分别为:js提供的方法名 回调)registerHandler(method, callback) {connectWebViewJavascriptBridge((bridge) => {bridge.registerHandler(method, (data, responseCallback) => {callback(data, responseCallback)})})}
}
在main.js中引用
import Bridge from '@/libs/jsBridge'
Vue.prototype.$bridge = Bridge // 引入自定义工具 app桥接