gov-channel
理念
channel 分为两种,实现跨iframe双向、多向通信:
- 主channel,即 MainMessageChannel
- 从channel,即 SubMessageChannel
- 一个main channel可以挂接多个sub channel, 可以实现主、从通信和从从通信
- 主channel对于消息有缓存机制,缓存一次最近的事件, 从channel挂载时触发
- 可以实现从从设备间的通信,通信要通过主设备
- 当主设备主动发起通信时,如果,所有从channel的应答是trusy的话,所有从的事件响应,否则所有从抛弃
- 目前主设备不主动发现从设备,从设备主动挂在
主设备可以在触发时间时,指定数据是否可以被保存。(后期应该支持indexDB和localstorage存储)
流程图如下:
+---+ +---+ +---+
| e | <-- | | --> | b |
+---+ | a | +---+
+---+ | | +---+
| f | <-- | | --> | c |
+---+ +---+ +---+
|
|
v
+---+
| d |
+---+
接口设计
使用方法
// 主设备用法 const channel = 'main' orgnazitionId: 'xx' bizYear: 'xx' theme: 'xx' ; channel
消息规范
- 内部消息规范
TODO
- 增加消息中转功能
发布
正式版:
npm run pub [major,minor, patch]
非正式版:
npm run pub [premajor,preminor,prepath, prerelease]