模块接入:
- 新增 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/** 失败关闭),不落明文
192 lines
6.3 KiB
XML
192 lines
6.3 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>
|
|
<artifactId>bird_monitoring</artifactId>
|
|
<groupId>org.dromara</groupId>
|
|
<version>${revision}</version>
|
|
</parent>
|
|
<modelVersion>4.0.0</modelVersion>
|
|
<packaging>jar</packaging>
|
|
<artifactId>ruoyi-admin</artifactId>
|
|
|
|
<description>
|
|
web服务入口
|
|
</description>
|
|
|
|
<dependencies>
|
|
|
|
<!-- Mysql驱动包 -->
|
|
<dependency>
|
|
<groupId>com.mysql</groupId>
|
|
<artifactId>mysql-connector-j</artifactId>
|
|
</dependency>
|
|
|
|
<!-- <!– mp支持的数据库均支持 只需要增加对应的jdbc依赖即可 –>-->
|
|
<!-- <!– Oracle –>-->
|
|
<!-- <dependency>-->
|
|
<!-- <groupId>com.oracle.database.jdbc</groupId>-->
|
|
<!-- <artifactId>ojdbc8</artifactId>-->
|
|
<!-- </dependency>-->
|
|
<!-- <!– 兼容oracle低版本 –>-->
|
|
<!-- <dependency>-->
|
|
<!-- <groupId>com.oracle.database.nls</groupId>-->
|
|
<!-- <artifactId>orai18n</artifactId>-->
|
|
<!-- </dependency>-->
|
|
<!-- <!– PostgreSql –>-->
|
|
<!-- <dependency>-->
|
|
<!-- <groupId>org.postgresql</groupId>-->
|
|
<!-- <artifactId>postgresql</artifactId>-->
|
|
<!-- </dependency>-->
|
|
<!-- <!– SqlServer –>-->
|
|
<!-- <dependency>-->
|
|
<!-- <groupId>com.microsoft.sqlserver</groupId>-->
|
|
<!-- <artifactId>mssql-jdbc</artifactId>-->
|
|
<!-- </dependency>-->
|
|
|
|
<dependency>
|
|
<groupId>org.dromara</groupId>
|
|
<artifactId>ruoyi-common-doc</artifactId>
|
|
</dependency>
|
|
|
|
<!-- 授权认证 -->
|
|
<dependency>
|
|
<groupId>org.dromara</groupId>
|
|
<artifactId>ruoyi-common-social</artifactId>
|
|
</dependency>
|
|
|
|
<!-- 邮件服务 -->
|
|
<dependency>
|
|
<groupId>org.dromara</groupId>
|
|
<artifactId>ruoyi-common-mail</artifactId>
|
|
</dependency>
|
|
|
|
<!-- mcp模块 -->
|
|
<dependency>
|
|
<groupId>org.dromara</groupId>
|
|
<artifactId>ruoyi-common-mcp</artifactId>
|
|
</dependency>
|
|
|
|
<!-- api模块 -->
|
|
<dependency>
|
|
<groupId>org.dromara</groupId>
|
|
<artifactId>ruoyi-api</artifactId>
|
|
</dependency>
|
|
|
|
<!-- 系统模块 -->
|
|
<dependency>
|
|
<groupId>org.dromara</groupId>
|
|
<artifactId>ruoyi-system</artifactId>
|
|
</dependency>
|
|
|
|
<!-- 调度任务模块 -->
|
|
<dependency>
|
|
<groupId>org.dromara</groupId>
|
|
<artifactId>ruoyi-job</artifactId>
|
|
</dependency>
|
|
|
|
<!-- AI业务模块 -->
|
|
<dependency>
|
|
<groupId>org.dromara</groupId>
|
|
<artifactId>ruoyi-ai</artifactId>
|
|
</dependency>
|
|
|
|
<!-- demo模块 -->
|
|
<dependency>
|
|
<groupId>org.dromara</groupId>
|
|
<artifactId>ruoyi-demo</artifactId>
|
|
</dependency>
|
|
|
|
<!-- 设备模块 -->
|
|
<dependency>
|
|
<groupId>org.dromara</groupId>
|
|
<artifactId>ruoyi-device</artifactId>
|
|
</dependency>
|
|
|
|
<!-- 工作流模块 -->
|
|
<dependency>
|
|
<groupId>org.dromara</groupId>
|
|
<artifactId>ruoyi-workflow</artifactId>
|
|
</dependency>
|
|
|
|
<!-- Spring Boot Admin 客户端 -->
|
|
<dependency>
|
|
<groupId>de.codecentric</groupId>
|
|
<artifactId>spring-boot-admin-starter-client</artifactId>
|
|
</dependency>
|
|
|
|
<!-- 单元测试 -->
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-test</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<!-- skywalking 整合 logback -->
|
|
<!-- <dependency>-->
|
|
<!-- <groupId>org.apache.skywalking</groupId>-->
|
|
<!-- <artifactId>apm-toolkit-logback-1.x</artifactId>-->
|
|
<!-- <version>${与你的agent探针版本保持一致}</version>-->
|
|
<!-- </dependency>-->
|
|
<!-- <dependency>-->
|
|
<!-- <groupId>org.apache.skywalking</groupId>-->
|
|
<!-- <artifactId>apm-toolkit-trace</artifactId>-->
|
|
<!-- <version>${与你的agent探针版本保持一致}</version>-->
|
|
<!-- </dependency>-->
|
|
|
|
</dependencies>
|
|
|
|
|
|
<profiles>
|
|
<!-- 仅在激活 'gen' profile 时,才引入代码生成模块 -->
|
|
<profile>
|
|
<id>gen</id>
|
|
<dependencies>
|
|
<!-- 代码生成-->
|
|
<dependency>
|
|
<groupId>org.dromara</groupId>
|
|
<artifactId>ruoyi-gen</artifactId>
|
|
</dependency>
|
|
</dependencies>
|
|
<activation>
|
|
<!-- 默认激活 -->
|
|
<activeByDefault>true</activeByDefault>
|
|
</activation>
|
|
</profile>
|
|
</profiles>
|
|
|
|
<build>
|
|
<finalName>${project.artifactId}</finalName>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
|
<version>${spring-boot.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>repackage</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<version>${maven-jar-plugin.version}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-war-plugin</artifactId>
|
|
<version>${maven-war-plugin.version}</version>
|
|
<configuration>
|
|
<failOnMissingWebXml>false</failOnMissingWebXml>
|
|
<warName>${project.artifactId}</warName>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
|
|
</project>
|