feat: replace iot adapter with mqtt command pipeline

This commit is contained in:
2026-08-03 13:18:11 +08:00
parent 6ed417c8c1
commit fefdba470a
48 changed files with 1620 additions and 338 deletions

View File

@@ -23,7 +23,7 @@
| Web | `frontend/site` | 官网内容、导航、响应式、静态资源、可访问性、SEO 基础、构建与托管 Worker |
| 后端 | `backend/api` | Gin API/BFF、JWT、权限、同步事务、状态动作、金额、幂等、审计、上传和数据库事实 |
| 后端 | `backend/worker` | 配置、启动、Mock 循环、优雅退出;未来 Outbox/Streams 的投递、重试、死信和积压 |
| 后端 | `backend/iot` | 配置、启动、Mock 适配、命令/回执边界;未来 MQTT TLS、身份、遥测和断线重连 |
| 后端 | `backend/iot-client``backend/iot-server` | 配置、启动、幂等命令、协议编解码、MQTT TLS、身份、遥测、回执和断线重连 |
不修改 `sample/`。真实支付、短信、地图、对象存储、电子合同、MQTT 厂商接入等,以受控沙箱或 Mock 验证;生产联调另设上线前检查点。
@@ -138,4 +138,3 @@
- 所有受影响模块的静态检查、单元、契约和构建通过;关键链路 E2E 通过。
- 设备、安全、订单、支付、提现、检查、整改、敏感访问的审计可按 `request_id`/`identity` 串联。
- 安全、性能、弱网/离线和恢复专项完成;未具备真实依赖的项目明确标记“受限通过”,不得写成已完成生产验收。

View File

@@ -56,7 +56,8 @@ npm run build
```bash
cd backend/api && go test ./... && go vet ./... && go build ./cmd/main/main.go
cd backend/worker && go test ./... && go vet ./... && go build ./cmd/main/main.go
cd backend/iot && go test ./... && go vet ./... && go build ./cmd/main/main.go
cd backend/iot-client && go test ./... && go vet ./... && go build ./cmd/main/main.go
cd backend/iot-server && go test ./... && go vet ./... && go build ./cmd/main/main.go
```
建议 CI 增加 `go test -race ./...`(运行环境支持时)、覆盖率输出、依赖/密钥扫描和 API E2E 作业。命令只是门禁,不等价于完整业务验收。
@@ -122,4 +123,3 @@ cd backend/iot && go test ./... && go vet ./... && go build ./cmd/main/main.go
- 自动化通过率、偶发失败率、覆盖率变化和执行时长。
- API 性能分位数/错误率、资源峰值、安全发现、恢复实测值。
- 环境限制、未测范围、残余风险、责任人和下一步日期。

View File

@@ -24,7 +24,6 @@
## 计划边界
- `backend/worker` `backend/iot` 当前仍是 Mock 边界。计划会验证其进程、配置和失败行为,但真实 Redis Streams、MQTT Broker、设备证书厂商协议的生产验收必须等契约和环境就绪后执行
- `backend/worker` 已投递 IoT Outbox`backend/iot-client``backend/iot-server` 已落地系统接口和 MQTT 协议边界。真实 Broker、设备证书厂商硬件仍需在联调环境验收
- `frontend/site` 是官网,按展示、响应式、可访问性、链接、构建和托管 Worker 测试;不把它当成业务事实写入端。
- 本计划不把尚未实现或文档中“待确认”的政策当作通过标准。此类项进入阻塞/待决清单,由产品、安全、财务或法务确认后再固化用例。