关键依赖模块
为了能够让开发者更关注在 UI 层面的处理,而不需要过多关心一些其他的流程逻辑处理,我们将扫地机进行模块拆分,将底层实现与业务调用独立。目前扫地机面板主要依赖的包有以下几个
@ray-js/robot-map 业务层直接调用, 提供了WebView地图组件和Rjs地图组件,并且暴露了地图操作的常用方法。
@ray-js/robot-data-stream 业务层直接调用,封装了面板与设备的 P2P 传输方法,开发者可以忽略 P2P 通信过程中的复杂过程,只需要关注业务本身逻辑
@ray-js/robot-protocol 业务层直接调用,提供完整协议解析标准能力,将扫地机协议中比较复杂的 raw 类型 dp 点的解析、编码过程进行了封装
@ray-js/webview-invoke 底层依赖,提供了小程序与底层 SDK 的通信能力,一般情况下不需要修改
对于常规的扫地机需求,基本上只关注应用业务逻辑和 UI 展示,不需要关心内部依赖包中的实现,依赖包的升级会做到向下兼容,可以在项目中针对依赖包进行单独升级。