# 新增插件示例

移动APP开发中,hatom框架提供的是基础插件,根据一些已有业务抽离出来的共性业务组,但在实际开发项目中,会根据业务新增插件。

新增的插件分为两种情况,分别是H5端调用原生端与原生端调用H5端,如下:

# H5端调用原生端

当H5端需要原生端实现某种场景的能力,新增一个能力插件。 例如:打开访客机设备灯光, 原生端新增插件 HikDevicePlugin.setLightParam 设置访客机设备灯光信息(补光灯,红外线)

  • HikDevicePlugin 是原生端插件的类名
  • setLightParam 是原生端插件的类名
  hatom.native("HikDevicePlugin.setLightParam", (res)=>{}, {
    lightValue: lightValue,
    infraredLightValue: this.infraredLightValue
  })

Json字符串,包含下列字段

参数 类型 描述
lightValue int 补光灯数值,范围 1- 100
infraredLightValue int 红外线数值,范围 1- 100

原生端组件开发文档,请咨询刘昊17、戴红斌, H5端插件对接文档

# 原生端调用H5端

当原生端需要监听页面的按钮事件,将信息传递给H5端,调用H5端向原生端注册的名称方法。

例如:视频组件中,播放某个设备视频预览。需要将播放视频的设备Id以及通道传递给H5端 setBridge(funcName, callback)

  • funcName 是注册的H5端的名称方法
  • callback 是H5端注册的名称方法关联的callback
hatom.setBridge("getVideoDeviceInfo", (res)=>{
  // res, 原生端返回的设备Id以及通道信息
})

参数说明:

参数 类型 描述
getVideoDeviceInfo String 获取视频设备的消息通道,名称唯一,重复则会覆盖原有的消息通道
callback Function 回调函数, 可从参数res中获取原生端返回的信息

此方法setbridge, 会将funcName参数, 传递给原生端作为函数名使用,调用exec(funcName, response) H5端在setbridge, 收到(res)=> {} 的回调, res 即为 原生端传递过来的response。

注意

用 setBridge(H5FuncName, callback) 方法,需要预先注册, 建议在vue生命周期中使用
用 funcName 在同一个vue组件中是唯一的,重复则会覆盖原有的消息通道

详细使用见hatom-spa-tpl工程中 App.vue 示例代码 原生端组件开发文档,请咨询刘昊17、戴红斌, H5端插件对接文档