Skip to content

飞书小程序 - SA 设备控制交互设计 PRD (v2.4 规范统一版)

文档状态:草案 / 待评审 (对齐 Enum 场景与选择器规范) 主要编写人:Antigravity (AI Architect / PM Assistant)


1. 交互规范统一 (Interaction Standards)

1.1 选择器规范 (Selector Standard)

  • 统一组件:采用 Checkbox (多选框) 逻辑,方型圆角外观。
  • 数量判定 (Conditional UI)
    • 唯一设备 (Count = 1):隐藏选择列表。直接在信息区展示设备全名。
    • 多个设备 (Count > 1):展示 Checkbox 列表。
    • 全选联动 (Master-Slave)
      • 首项为“全场同步”,作为 Master Checkbox。
      • 勾选“全场同步”则全选下方设备;取消则全不选。
      • 手动勾选全部子设备时,“全场同步”自动点亮。

1.2 颜色与视觉 (Visuals)

  • 主色调:深蓝 (#184073) 用于动作、滑块及主按钮。
  • 状态色:开关状态(开启-绿/关闭-灰)、温度数值。

2. 核心场景交互设计 (Scenario Design)

场景 A:枚举型控制 (Enum - Multi-device)

触发条件:指令命中了多个具备模式/枚举属性的设备。

text
(User) "空调调到制热" (空间内有2台空调)

(Agent) 
+-------------------------------------------+
| [Icon] **请确认调节方案**                  |
| ---------------------------------------   |
|  执行动作:设定为 **制热**                  |
|                                           |
|  受控设备:                                |
|  [x] **全场同步** (2台设备)                |
|  -------------------------                |
|  [x] 305-AC-01 (当前-自动)                 |
|  [x] 305-AC-02 (当前-制冷)                 |
| ---------------------------------------   |
|  [ 取消 ]            [ 确认执行 ]          |
+-------------------------------------------+

"制热" 取自 设备管理-枚举语义化定义

场景 B:布尔型控制 (Bool - Single vs Multi)

B1. 唯一匹配 (Single)

text
(User) "打开 305 主灯"

(Agent) 
+-------------------------------------------+
| [Icon] **确认开启设备**                    |
| ---------------------------------------   |
|  执行动作:设定为 **开启**                   |
|  受控范围:**305 主灯**                    |
| ---------------------------------------   |
|  [ 取消 ]            [ 确认执行 ]          |
+-------------------------------------------+

"开启" 取自 设备管理-BOOL语义化定义

B2. 模糊歧义 (Multi)

text
(User) "关掉 305 的灯"

+-------------------------------------------+
| [Icon] **确认关闭操作**                    |
| ---------------------------------------   |
|  执行动作:设定为 **关闭**                  |
|                                           |
|  受控范围:                                |
|  (x) **全部灯光**                         |
|  ( ) 305-主灯                              |
|  ( ) 305-筒灯                              |
| ---------------------------------------   |
|  [ 取消 ]            [ 确认执行 ]          |
+-------------------------------------------+

场景 C:数值型控制 (Float - Single AC)

设计逻辑:单设备时,卡片更聚焦数值。

text
(User) "空调调到 26 度" (唯一设备)

(Agent) 
+-------------------------------------------+
| [Icon] **请确认调节方案**                  |
| ---------------------------------------   |
|  执行目标:设定温度 **26.0℃**              |
|  [ - ] —————⬤————— [ + ]                  |
|                                           |
|  受控范围:305 变频空调                    |
| ---------------------------------------   |
|  [ 取消 ]            [ 确认执行 ]          |
+-------------------------------------------+

4. 异常与回执

响应时机反馈逻辑
执行中按钮文字变为“执行中... (1/2)”,显示设备颗粒度的反馈。
边界拦截不直接强停,而是基于 共享区间 (Shared Range) 自动修正指令,并推送带文案提示的调节卡片。卡片滑块的 min/max 物理边界 必须动态调整为所有受控设备的 交集区间 (Intersection)。例如:A 为 14-24,B 为 16-28,则滑块范围强制限定在 16-24。
设备重名若空间内有两个同名设备(Admin 配置错误),显示设备序列号后缀。

Released under the Private License.