# 新增插件示例
移动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端插件对接文档