# M06-B 设备资产、能力和拓扑 - 日期:2026-06-22 - 起始 commit:`07790a7` - 工程 commit:`74a67ac` - ENGINEERING_DELTA=YES - 子阶段状态:DONE,工程 commit 已 push 且 `HEAD == origin/main` ## 工程增量 - 扩展设备资产:DeviceID、IMEI、ICCID、类型、型号、固件、信号、能力、状态快照、心跳和维护状态。 - 新增控制通道模型,支持控制箱 SLOT1/2/3 和智慧插座 MAIN 等通道映射房间负载。 - 同一租户/房间/控制目标只允许一个通道,控制箱插槽与智慧插座不能重复控制同一负载。 - 新增控制箱父设备与 Sub-1G 门锁子设备关系,约束门锁唯一父设备、父设备下 subID 唯一、房间同类门锁唯一。 - 新增状态快照、开放告警和维护记录结构,拓扑接口统一返回资产、通道、父子关系、告警和维护记录。 - 新增 `device.read`、`device.write`,租户管理员、平台管理员和门店管理员按门店范围使用。 - 新增设备入库、列表、拓扑、通道绑定、Sub-1G 绑定、状态写入和维护记录 API。 ## 验证 - Windows `npm test`:退出码 0,M01-A 至 M06-B 全量契约回归通过。 - Windows `scripts/dev/windows/test-all.ps1`:退出码 0,仓库、敏感信息、构建、测试、迁移计划和文档一致性门禁通过。 - WSL MySQL 8.4.9 原生临时副本:`up → verify → down → up → verify` 通过。 - 迁移语句:up 98、verify 70、down 92。 - 实测控制箱 `ROOM_POWER` 绑定后,智慧插座重复绑定同一目标返回冲突;Sub-1G 父子关系、能力排序、ONLINE 状态、快照和维护状态均通过。 - 工程 commit 已 push,`HEAD == origin/main == 74a67ac92d7687abeb9cd4f697efe312eac0c2f9`。 ## 数据库与兼容性 - 新迁移:`2026062219_m06b_device_topology`。 - 旧 `qipai_devices` 保留并增量扩展;旧设备数据不删除。 - 回滚先删除 M06-B 子表和设备权限,再移除新增设备列与索引。 ## 后续 执行游标进入 M06-C:协议适配器和消息幂等。