- 依赖:删除根 pom 的 paho.version 与 org.eclipse.paho.client.mqttv3 依赖声明, 同步移除 ruoyi-iot 模块中的 Paho 依赖,模块描述改为“iot设备数据与开放接口” - MQTT 协议栈整体删除:IotMqttConfig、IotMqttProperties、MqttClientManager、 MqttMessageDispatcher、MqttCallbackHandler、MqttConnectionCallback、 IMqttMessageListener、MqttMessageDTO、MqttPublishRequest、MqttMessageEvent、 IMqttService/MqttServiceImpl、IotMqttController,以及 lock 侧 topic 订阅与 LockMessageListener、AccessRecordHandler、CommandRespHandler、 GatewayOnlineHandler、LockSignalHandler - MQTT 报文留痕链路删除:LockMqttLog 实体、LockMqttLogMapper(+XML)、 ILockMqttLogService/LockMqttLogServiceImpl、LockMqttLogController, 以及对应的前端页面 build_ui/src/views/iot/mqttlog 与 API build_ui/src/api/iot/mqttlog.js - 命令下发改为仅落库:LockCommandServiceImpl 派发时直接置 TRANSPORT_DISABLED 失败, retryPending 返回 0;删除 GatewayOfflineCheckTask、LockCommandRetryTask、 LockDeviceOfflineCheckTask 等依赖 MQTT 的补偿与离线检查定时任务 - 保留与传输无关的门禁写操作策略:新增 IotLockSecurityProperties(iot.lock-security), RealIotSecurityGate 及其测试改用该配置类 - 配置与调用处清理:application*.yml 中 iot.mqtt 段迁移为 iot.lock-security, 删除 broker-url/client-id/username/password/topics/will/qos 等连接参数, 修正 iot.face 环境标识注释引用;QA 工具启动参数改用 --iot.lock-security.*, 并移除 browser_regression.js 的 mqttlog 路由 - 测试同步:删除依赖 MQTT 与传输层的 CommandRespHandlerMockTest、 Round5sEgressIsolationTest、Round5sExecutionIntegrationTest、 Round5v4BrowserFixture、Round5v4KingbaseIntegrationTest; 更新 RealIotSecurityGateTest、FaceExtractClientMockTest、 TrainIotLockAuthBridgeMockTest 说明:数据库侧 lock_mqtt_log 表结构与历史验收文档保留,未做数据迁移; 前端若仍配置了“MQTT报文日志”菜单,需在后台菜单管理中一并移除。
219 lines
6.7 KiB
YAML
219 lines
6.7 KiB
YAML
# 项目相关配置
|
||
ruoyi:
|
||
# 名称
|
||
name: RuoYi
|
||
# 版本
|
||
version: 3.9.2
|
||
# 版权年份
|
||
copyrightYear: 2026
|
||
# 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath)
|
||
profile: ./uploadPath
|
||
# 获取ip地址开关
|
||
addressEnabled: false
|
||
# 验证码类型 math 数字计算 char 字符验证
|
||
captchaType: math
|
||
|
||
# 开发环境配置
|
||
server:
|
||
# 服务器的HTTP端口,默认为8080
|
||
port: 8096
|
||
servlet:
|
||
# 应用的访问路径
|
||
context-path: /
|
||
tomcat:
|
||
# tomcat的URI编码
|
||
uri-encoding: UTF-8
|
||
# 连接数满后的排队数,默认为100
|
||
accept-count: 1000
|
||
threads:
|
||
# tomcat最大线程数,默认为200
|
||
max: 800
|
||
# Tomcat启动初始化的线程数,默认值10
|
||
min-spare: 100
|
||
|
||
# 日志配置
|
||
logging:
|
||
level:
|
||
com.ruoyi: debug
|
||
org.springframework: warn
|
||
|
||
# 用户配置
|
||
user:
|
||
password:
|
||
# 密码最大错误次数
|
||
maxRetryCount: 5
|
||
# 密码锁定时间(默认10分钟)
|
||
lockTime: 10
|
||
|
||
# Spring配置
|
||
spring:
|
||
# 资源信息
|
||
messages:
|
||
# 国际化资源文件路径
|
||
basename: i18n/messages
|
||
profiles:
|
||
active: druid
|
||
# 文件上传
|
||
servlet:
|
||
multipart:
|
||
# 单个文件大小
|
||
max-file-size: 50MB
|
||
# 设置总上传的文件大小
|
||
max-request-size: 100MB
|
||
jackson:
|
||
time-zone: GMT+8
|
||
date-format: yyyy-MM-dd HH:mm:ss
|
||
# 服务模块
|
||
devtools:
|
||
restart:
|
||
# 热部署开关
|
||
enabled: true
|
||
data:
|
||
# redis 配置
|
||
redis:
|
||
# 地址
|
||
host: localhost
|
||
# 端口,默认为6379
|
||
port: 6379
|
||
# 数据库索引 (独立 QA 测试隔离使用 14 库)
|
||
database: 14
|
||
# 密码
|
||
password:
|
||
# 连接超时时间
|
||
timeout: 10s
|
||
lettuce:
|
||
pool:
|
||
# 连接池中的最小空闲连接
|
||
min-idle: 0
|
||
# 连接池中的最大空闲连接
|
||
max-idle: 8
|
||
# 连接池的最大数据库连接数
|
||
max-active: 8
|
||
# #连接池最大阻塞等待时间(使用负值表示没有限制)
|
||
max-wait: -1ms
|
||
|
||
# 人脸识别设备 API 配置
|
||
face:
|
||
# 人脸识别服务端地址(设备未启用时仅用于模拟响应,不实际调用)
|
||
api-base-url: http://192.168.1.202:9025
|
||
#api-base-url: http://192.168.1.230:9000
|
||
# 是否实际调用人脸识别设备:false=返回模拟响应,true=真实调用
|
||
enabled: true
|
||
|
||
# 培训与门禁业务配置
|
||
train:
|
||
# QA 环境业务桥接引擎配置:显式使用自主 iot 门锁授权桥接
|
||
lock:
|
||
auth-engine: ${TRAIN_LOCK_AUTH_ENGINE:iot}
|
||
student:
|
||
identity:
|
||
encryption-key: ${TRAIN_STUDENT_IDENTITY_ENCRYPTION_KEY:}
|
||
hash-key: ${TRAIN_STUDENT_IDENTITY_HASH_KEY:}
|
||
# 模拟设备打卡开关:默认 false(禁用),仅允许在独立测试/QA 环境显式开启 true
|
||
mock:
|
||
device:
|
||
enabled: false
|
||
|
||
# token配置
|
||
token:
|
||
# 令牌自定义标识
|
||
header: Authorization
|
||
# 令牌密钥
|
||
secret: tBTCXCgTTrO32NvcpWm2+OQjk3w938P0FkOw0GuRFIee9oRHo3QaTCIeha1N1erESpCeNj7KjCovk4Gns+aiFA==
|
||
# 令牌有效期(默认30分钟)
|
||
expireTime: 600
|
||
|
||
# MyBatis配置
|
||
mybatis:
|
||
# 搜索指定包别名
|
||
typeAliasesPackage: com.ruoyi.**.domain
|
||
# 配置mapper的扫描,找到所有的mapper.xml映射文件
|
||
mapperLocations: classpath*:mapper/**/*Mapper.xml
|
||
# 加载全局的配置文件
|
||
configLocation: classpath:mybatis/mybatis-config.xml
|
||
|
||
# PageHelper分页插件
|
||
pagehelper:
|
||
# 方言由 PageHelper 根据数据源自动识别(已内置 MySQL 与 KingbaseES)
|
||
# 如需强制指定,MySQL 填写 mysql,KingbaseES 填写 kingbase
|
||
supportMethodsArguments: true
|
||
params: count=countSql
|
||
|
||
# Springdoc配置
|
||
springdoc:
|
||
api-docs:
|
||
path: /v3/api-docs
|
||
swagger-ui:
|
||
enabled: true
|
||
path: /swagger-ui.html
|
||
tags-sorter: alpha
|
||
group-configs:
|
||
- group: 'default'
|
||
display-name: '测试模块'
|
||
paths-to-match: '/**'
|
||
packages-to-scan: com.ruoyi.web.controller.tool,com.ruoyi.web.controller.device
|
||
# 防盗链配置
|
||
referer:
|
||
# 防盗链开关
|
||
enabled: false
|
||
# 允许的域名列表
|
||
allowed-domains: localhost,127.0.0.1,ruoyi.vip,www.ruoyi.vip
|
||
|
||
# 防止XSS攻击
|
||
xss:
|
||
# 过滤开关
|
||
enabled: true
|
||
# 排除链接(多个用逗号分隔)
|
||
excludes: /system/notice
|
||
# 匹配链接
|
||
urlPatterns: /system/*,/monitor/*,/tool/*
|
||
|
||
# IOT设备接入(MQTT)
|
||
iot:
|
||
# 设备 HMAC 验签开关:本地联调可临时关闭(无需 X-Signature 头);生产环境务必改回 true 或删除该段
|
||
hmac:
|
||
enabled: false
|
||
#base-url: http://localhost:8096 # 相对路径拼接后端 base URL 用;本地联调用默认值即可,生产环境改成公网地址(如 http://<公网IP>:<端口>)
|
||
# 人脸特征提取服务(数据库 lock_service_config 中 config_type=02 的配置优先级更高)
|
||
face:
|
||
# 必须与 iot.lock-security.environment-id 一致,否则 requireFaceIdentity 判定环境不一致而拒绝人脸提取授权
|
||
environment-id: railway-iot-01
|
||
#endpoint: http://192.168.1.202:8802/bdws_api/Third/Api/Easen/getFaceFeatureData
|
||
endpoint: http://192.168.1.230:8802/bdws_api/Third/Api/Easen/getFaceFeatureData
|
||
# 特征提取服务地址白名单(fail-closed 护栏,endpoint 必须显式列入,否则提取被拒)
|
||
allowed-endpoints:
|
||
#- http://192.168.1.202:8802/bdws_api/Third/Api/Easen/getFaceFeatureData
|
||
- http://192.168.1.230:8802/bdws_api/Third/Api/Easen/getFaceFeatureData
|
||
# 调用超时(毫秒)
|
||
timeout: 10000
|
||
# 第三方开放接口:关闭时接口返回 404;启用后调用方需带请求头 X-API-Key
|
||
openapi:
|
||
enabled: true
|
||
api-key: please-change-me
|
||
path-prefix: /openapi/iot
|
||
# 门禁写操作安全策略(原 MQTT 配置中与传输无关的策略项,MQTT 已整体移除)
|
||
lock-security:
|
||
enabled: true
|
||
mock: false
|
||
protocol-verified: true
|
||
environment-id: railway-iot-01
|
||
real-device-write-enabled: true
|
||
device-whitelist: [
|
||
'807104B5', '80745D79','80745D95','80745D6F',
|
||
'80745DA3','80745D78','80745D89','80745D93',
|
||
'80745D75','80745D9A','80745D99','80745D73',
|
||
'80745D9F','80745D92','80745D7A','80745D8E',
|
||
'80745DA7','80745D86','80745D72','80745DA8',
|
||
'80745D90','80745D77','80745D76','80745D96',
|
||
'80745D7B','80745DA4','80745D7E','80745D9C',
|
||
'80745D71','80745DA2','80745D82','80745DAA',
|
||
'80745D8D','80745D7F','80745D97','80745D8A',
|
||
'80745D6E','80745D9B','80745D94','80745D84',
|
||
'80745D9D','80745D6A','80745D7D','80745D70',
|
||
'80745DA5','80745D8C','80745D74','80745D6D',
|
||
'80745D8B','80745D6C','80745D98','80745D88',
|
||
'80745DAB','80745D87','80745D8F','80745DA1',
|
||
'80745DA9','80745D91','80745D6B','80745DA6',
|
||
'80745D81','80745D9E','80745D83','80745DA0',
|
||
'E8F7AFF69483']
|