---
title: 关键依赖模块
summary: 激光扫地机面板关键依赖模块介绍，包括 robot-map、robot-data-stream、robot-protocol 等包的功能与职责。
---

## 关键依赖模块

为了能够让开发者更关注在 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 展示，不需要关心内部依赖包中的实现，依赖包的升级会做到向下兼容，可以在项目中针对依赖包进行单独升级。
