# 项目相关配置 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']