yuhaiming
|
827b48e954
|
设备注册 短信跟邮箱验证
|
2026-09-23 16:28:24 +08:00 |
|
yuhaiming
|
bc1074d194
|
新视频推送接收(未测) app升级 告警 国际短信跟谷歌邮箱接入
|
2026-09-19 08:47:04 +08:00 |
|
|
|
e4ef35c795
|
google邮箱发送验证码
|
2026-09-18 17:58:10 +08:00 |
|
|
|
e3b01e7b44
|
Merge branch 'main' of https://gitea.bugtc.com/yuhaiming/bird_monitoring
# Conflicts:
# ruoyi-admin/src/main/resources/application.yml
|
2026-09-18 09:45:45 +08:00 |
|
|
|
e0524d17eb
|
国际验证码以及手机验证码登录
|
2026-09-18 09:44:26 +08:00 |
|
yuhaiming
|
7bdc5c846d
|
设备列表 视频流服务器
|
2026-09-17 17:09:49 +08:00 |
|
yuhaiming
|
1cfb071dfb
|
chore(device): 补充 device.app.email 配置段(Gmail SMTP,凭据走环境变量)
- application-dev.yml / application-prod.yml 新增 device.app.email 段(各 +32/33 行)
- 与已提交的 AppEmailService/AppProperties.Email 对齐:字段名、默认值一一对应
- mock 语义:dev=true 仅打日志;prod=false,且 prod+mock=true 时 AppEmailProdGuard 拒绝启动
- host/port/user/pass/from 全部由 ${DEVICE_APP_EMAIL_*} 环境变量注入,无任何明文凭据
- allowed-domains 默认注释(留空=不限制域名),要"只允许谷歌邮箱"取消注释即可,无需改代码
- 整段删除不影响启动(AppProperties 内均有同值默认)
|
2026-09-17 10:29:31 +08:00 |
|
yuhaiming
|
79b739fe02
|
feat(device): 一期设备域 I1-I5 全量实现(APP 接口/后台管理/OTA/MQTT/直播)
模块接入:
- 新增 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/** 失败关闭),不落明文
|
2026-09-17 10:21:27 +08:00 |
|
yuhaiming
|
926426fe4f
|
init
|
2026-09-16 10:11:41 +08:00 |
|