Skip to content

微信小程序 - SA 设备查询交互设计 PRD (v1.0)


1. 卡片规范 (Card Standards)

1.1 渲染模式定义

设备查询卡片分两种渲染模式,由 Engine 根据设备属性数量自动选择:

模式触发条件卡头标题卡片布局
compact所有设备均只展示 1 个属性"{空间名} · {标准语义名}"每设备一行一值
detail任一设备展示 ≥2 个属性"{空间名} · 设备详情"按设备分组,属性缩进展示

mix 场景:不同设备展示的属性数量可以不同(如设备 A 有 2 个属性、设备 B 有 1 个属性)。只要任一设备 ≥2 即触发 detail 模式;单属性设备在 detail 卡片中仍只展示 1 行,无需补齐。

1.2 通用规则

  • Header 图标:固定使用 fa-circle-info,不随语义类型变化
  • Header 标题:compact 模式为 "{空间名} · {标准语义名}"(取 selected_attrs[0] 对应的语义名),detail 模式为 "{空间名} · 设备详情"
  • 设备状态值展示
    • 布尔型 → 文字("已开启""已关闭"),非开关组件
    • 数值型 → 值+单位("24℃"),无滑动条
    • 枚举型 → 中文标签("制冷"),无选择器
  • 统计行:多设备时展示"共 X 台设备";单设备时隐藏
  • 无交互组件:无确认/取消按钮、无复选框、无滑块、无开关、无全场同步

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

2.1 单设备单属性(compact)

text
(User) "305空调多少度"

(Agent)
+-------------------------------------------+
| [ℹ️] 305会议室 · 设定温度                  |
| ---------------------------------------   |
|  305空调       24℃                        |
+-------------------------------------------+
text
(User) "空调开了吗"

(Agent)
+-------------------------------------------+
| [ℹ️] 305会议室 · 灯具开关                  |
| ---------------------------------------   |
|  空调          已开启                      |
+-------------------------------------------+

2.2 单设备多属性(detail)

text
(User) "305空调什么状态"

(Agent)
+-------------------------------------------+
| [ℹ️] 305会议室 · 设备详情                  |
| ---------------------------------------   |
|  ── 305空调 ──                             |
|    设定温度     24℃                        |
|    运行模式     制冷                        |
+-------------------------------------------+

2.3 多设备单属性(compact)

text
(User) "305所有设备状态"

(Agent)
+-------------------------------------------+
| [ℹ️] 305会议室 · 设备状态                  |
| ---------------------------------------   |
|  共 3 台设备                               |
|                                            |
|  305主灯       已开启                      |
|  305筒灯       已关闭                      |
|  305空调       24℃                        |
+-------------------------------------------+

2.4 多设备多属性(detail,含 mix 场景)

text
(User) "305所有设备详情"

(Agent)
+-------------------------------------------+
| [ℹ️] 305会议室 · 设备详情                  |
| ---------------------------------------   |
|  共 2 台设备                               |
|                                            |
|  ── 大金空调 ──                            |
|    设定温度     24℃                        |
|    运行模式     制冷                        |
|  ── 美的空调 ──                            |
|    设定温度     26℃                        |
+-------------------------------------------+

mix 说明

  • 大金空调展示 2 个属性,美的空调仅展示 1 个属性
  • 设备间属性数量可以不同,不影响渲染
  • 各设备独立展示其属性集,无需补齐

3. Header 取数逻辑

3.1 标题

模式标题格式示例
compact"{空间名} · {标准语义名}""305会议室 · 设定温度"
detail"{空间名} · 设备详情""305会议室 · 设备详情"

3.2 图标

所有查询卡片固定使用 fa-circle-info 图标,不随语义类型变化。


4. 异常与回执

场景反馈逻辑
空间无设备Agent 回复"该空间下暂无可查询的设备。"
设备离线在状态卡片中该设备行标注"⛔ 离线",状态值显示为"--"

5. 相关设计参考

Released under the Private License.