前端使用dsBridge与app进行交互通信

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的数据
})

你可能感兴趣的:(前端使用dsBridge与app进行交互通信)