const dsBridge = require('dsbridge')
export default {
/**
* 前端调用app的方法
* @param {strinng} name app方法名
* @param {any} data 携带参数
* @param {function} callback 回调方法,接收app传递的数据
*/
callHandler(name, data, callback) {
dsBridge.call(name, data, res => {
callback(res)
})
},
/**
* app调用前端方法
* @param {string} name 前端方法名
* @param {function} callback 回调方法,接收app传递的数据,并返回数据给app
*/
registerHandler(name, callback) {
dsBridge.register(name, callback)
}
}
使用
// 前端调用app声明的方法示例
const data = { a: 'xxx' }
callHandler('nativeTunnel', data, (res) => { // nativeTunnel为方法名
console.log(res) // res为app返回的数据
})
// app调用前端声明的方法示例
registerHandler('h5methods', (data) => { // h5methods为方法名
console.log(data) // app传递给前端的数据
return {a: 'xxx'} // 前端返回给app的数据
})