主题
动作库管理
涉及子系统:工控机(执行)、云端 API(存储/下发)、管理后台(配置) 核心业务:预定义硬件动作集合,支持条件触发与组合编排,降低硬件控制复杂度
系统概述
动作库是对工控机硬件控制指令的高层抽象。管理员在后台定义"动作"(单个指令)和"动作组"(多指令组合),工控机按名称执行,无需硬编码具体控制逻辑。
动作类型
| 动作类型 | 说明 | 示例 |
|---|---|---|
| 单设备指令 | 控制单个硬件的开/关/调节 | 开启1号灯光继电器 |
| 延时指令 | 等待指定时间后继续 | 等待 5 秒 |
| 条件指令 | 根据传感器值决定执行路径 | 若温度 > 28℃ 则开空调 |
| 语音播报 | 触发工控机本地 TTS 或音频播放 | 播放「欢迎进入」 |
| 动作组 | 多个动作按顺序执行 | 进场动作组:开灯+开空调+播欢迎语 |
动作数据模型
Action {
id String # 动作唯一标识
storeId String? # 所属门店(null = 全局通用)
name String # 动作名称(管理员可读)
type Enum # single / delay / condition / tts / group
payload JsonObject # 具体参数(设备ID、值、延时ms、音频key等)
createdAt DateTime
updatedAt DateTime
}
ActionGroup {
id String
storeId String?
name String # 动作组名称
steps Array # 有序动作列表(含延时)
}内置触发场景
| 触发场景 | 建议动作组 |
|---|---|
| 用户进场(B 门开启) | 欢迎语音 + 灯光全开 + 空调调节 |
| 用户离场(A 门出) | 离场语音 + 最后一人关灯 |
| 淋浴启动 | 开启淋浴阀 + 计时 |
| 淋浴超时 | 关闭淋浴阀 + 语音提醒 |
| 设备报警 | 声光报警 + 推送通知 |
| 定时开店 | 全开灯光 + 开启背景音乐 |
| 定时关店 | 渐关灯光 + 关闭空调 + 关闭音乐 |
管理后台功能
- 动作列表:查看所有动作与动作组,按门店筛选
- 新建/编辑动作:可视化配置动作参数
- 动作组编排:拖拽排序多个动作,设置步骤间延时
- 手动触发:在管理后台一键测试执行某个动作
- 下发工控机:动作配置变更后自动推送到对应门店工控机
待确认事项
- [ ] 动作条件触发是否需要支持「AND / OR」复合条件
- [ ] 是否支持定时(cron)触发动作组
- [ ] 工控机端动作队列的并发处理策略