jsBridge在vue中使用
创建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桥接