模块接入:
- 新增 ruoyi-device(org.dromara.device)并注册到根/ruoyi-modules/ruoyi-admin pom
APP 侧(/app/**,需登录,仅本人绑定设备):
- 账号闭环:短信/邮箱验证码注册登录、密码重置(不跨界返回散列)
- 设备:绑定/列表/详情/重命名/解绑(越权统一"设备不存在",防 IDOR)
- 眼罩开关(/app/device/{deviceNo}/hood,低电不对称拦截)
- 定位(/app/device/{deviceNo}/location)
- 直播(/app/stream 6 端点 + /app/device/{deviceNo}/live,自建 ZLMediaKit,设备主动推流)
后台(/device/**):
- 设备 CRUD/统计/删除/导出(ExcelBuilder)
- OTA(6 端点:升级包管理 + 批量下发,total==created+skipped+failed)
MQTT(T05):
- 遥测/事件/ack 监听、指令下发+回执(防串设备)、离线扫描、低电告警
- 报文身份仅来自 Topic,反查 device_id 防跨设备伪造
数据与脚本:
- script/sql/ry_device.sql(6 表/字典/权限字/菜单)、bm_patch.sql
- script/mqtt 设备模拟器(mqtt-simulate.js)
安全:
- MQTT broker 凭据外置为环境变量 MQTT_USERNAME/MQTT_PASSWORD,不落明文
- ZLM webhook 密钥外置为环境变量 ZLM_SECRET(未配置时 /zlm/hook/** 失败关闭),不落明文
119 lines
3.5 KiB
XML
119 lines
3.5 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||
<parent>
|
||
<groupId>org.dromara</groupId>
|
||
<artifactId>ruoyi-modules</artifactId>
|
||
<version>${revision}</version>
|
||
</parent>
|
||
<modelVersion>4.0.0</modelVersion>
|
||
|
||
<artifactId>ruoyi-device</artifactId>
|
||
|
||
<description>
|
||
设备模块(智能飞禽物联平台 · 设备域)
|
||
</description>
|
||
|
||
<dependencies>
|
||
|
||
<!-- 通用工具 -->
|
||
<dependency>
|
||
<groupId>org.dromara</groupId>
|
||
<artifactId>ruoyi-common-core</artifactId>
|
||
</dependency>
|
||
|
||
<!-- api模块(复用 UserService 等) -->
|
||
<dependency>
|
||
<groupId>org.dromara</groupId>
|
||
<artifactId>ruoyi-api</artifactId>
|
||
</dependency>
|
||
|
||
<!-- web服务 -->
|
||
<dependency>
|
||
<groupId>org.dromara</groupId>
|
||
<artifactId>ruoyi-common-web</artifactId>
|
||
</dependency>
|
||
|
||
<!-- 数据库服务 -->
|
||
<dependency>
|
||
<groupId>org.dromara</groupId>
|
||
<artifactId>ruoyi-common-mybatis</artifactId>
|
||
</dependency>
|
||
|
||
<!-- 安全模块 -->
|
||
<dependency>
|
||
<groupId>org.dromara</groupId>
|
||
<artifactId>ruoyi-common-security</artifactId>
|
||
</dependency>
|
||
|
||
<!-- 日志记录 -->
|
||
<dependency>
|
||
<groupId>org.dromara</groupId>
|
||
<artifactId>ruoyi-common-log</artifactId>
|
||
</dependency>
|
||
|
||
<!-- 缓存服务 -->
|
||
<dependency>
|
||
<groupId>org.dromara</groupId>
|
||
<artifactId>ruoyi-common-redis</artifactId>
|
||
</dependency>
|
||
|
||
<!-- excel -->
|
||
<dependency>
|
||
<groupId>org.dromara</groupId>
|
||
<artifactId>ruoyi-common-excel</artifactId>
|
||
</dependency>
|
||
|
||
<!-- OSS功能模块(OTA 升级包上传) -->
|
||
<dependency>
|
||
<groupId>org.dromara</groupId>
|
||
<artifactId>ruoyi-common-oss</artifactId>
|
||
</dependency>
|
||
|
||
<!-- 短信模块 -->
|
||
<dependency>
|
||
<groupId>org.dromara</groupId>
|
||
<artifactId>ruoyi-common-sms</artifactId>
|
||
</dependency>
|
||
|
||
<!-- 翻译模块 -->
|
||
<dependency>
|
||
<groupId>org.dromara</groupId>
|
||
<artifactId>ruoyi-common-translation</artifactId>
|
||
</dependency>
|
||
|
||
<!-- 脱敏模块 -->
|
||
<dependency>
|
||
<groupId>org.dromara</groupId>
|
||
<artifactId>ruoyi-common-sensitive</artifactId>
|
||
</dependency>
|
||
|
||
<!-- 接口模块 -->
|
||
<dependency>
|
||
<groupId>org.dromara</groupId>
|
||
<artifactId>ruoyi-common-doc</artifactId>
|
||
</dependency>
|
||
|
||
<!-- mqtt模块 -->
|
||
<dependency>
|
||
<groupId>org.dromara</groupId>
|
||
<artifactId>ruoyi-common-mqtt</artifactId>
|
||
</dependency>
|
||
|
||
<!-- JSON 序列化(MQTT payload) -->
|
||
<dependency>
|
||
<groupId>org.dromara</groupId>
|
||
<artifactId>ruoyi-common-json</artifactId>
|
||
</dependency>
|
||
|
||
<!-- 邮件模块(APP 邮箱验证码发信:MailBuilder + Gmail SMTP) -->
|
||
<dependency>
|
||
<groupId>org.dromara</groupId>
|
||
<artifactId>ruoyi-common-mail</artifactId>
|
||
</dependency>
|
||
|
||
</dependencies>
|
||
|
||
</project>
|