Skip to content

微信小程序:主动整备交互设计需求 (Active Prep Card v6) ​

v6 变更:恢复确认型(PRE_CONFIRM)场景为可选模式(通知型 AUTO / 确认型 PRE_CONFIRM),并明确「暂不需要」点击后卡片转为「已取消」状态(操作区替换为状态提示条,卡片不置灰);卡片内容由 LLM summary 驱动,移除旧版硬编码环境状态展示。

背景:确认型(询问用户「立即整备 / 暂不需要」)为最早设计;中间因微信服务号申请受限曾取消,后借用存量微信模板消息通道后恢复为「通知型 + 确认型」双模式。点击「暂不需要」后卡片转为「已取消本次整备」状态,原按钮移除,不再提供「深度调节」入口(用户可在需要时自行进入空间控制面板)。

1. 背景与目标 ​

在”主动整备 (Active Prep)”场景下,系统需向预定人推送即时卡片。设计需符合”人未到,环境已就绪”的愿景,同时提供手动调节入口。

2. 消息下发与链路策略 (Notification & Routing) ​

2.1 链路术语定义 ​

  • 外层通知 (Outer Notification):指在微信服务号/飞书 Bot 中下发的”消息卡片”。其作用是主动触达用户。
  • 落地页路由 (Landing Page Route):用户通过消息卡片跳转,应直接路由至 空间运营页面 (index.html)。若环境为 Chatbot 内部跳转,则直接通过消息气泡联动唤起该页面的组件。

2.2 推送渠道 ​

  1. 服务号/飞书 Bot 推送:系统通过对应平台的消息通道发送整备通知卡片。
  2. 消息交互流:用户进入小程序 Chatbox 后,该通知卡片会自动呈现在对话流的最新位置。

3. 视觉规范 ​

  • Header: 统一为 ”智能空间助手”。
  • 操作项顺序: 统一采用 ” [ 正向操作 ] [ 负向/纠偏操作 ] “(例如: ” [ 🛠️ 深度调节 ] [ 🚫 取消备场 ] “)。
  • 字体规范: 调节页内的分段标题(风速、模式、扫风等预留项)统一采用粗体 (Bold)。

4. 场景原型 (Prototypes) ​

场景:自动执行告知 (AUTO_EXECUTE) ​

整备 Agent 自动执行决策后,推送通知卡片。卡片内容由 LLM 动态生成的 summary(限 30 字)驱动,详见 SA_主动整备_Agent设计.md §5.2.1。

text
+-------------------------------------------+
| [🤖 智能空间助手]                 [••• | ◎] |
+-------------------------------------------+
|                                           |
|   ✨ **「研发周会」已为您提前备场**        |
|   -------------------------------------   |
|   **A-101 大会议室** (4F)                 |
|   🕒 14:00 - 15:00 (**15 min后开始**)     |
|   -------------------------------------   |
|                                           |
|   **空调将调至 24℃,灯光将开启**          | ← LLM summary (≤30字)
|                                           |
|   [ 🛠️ 深度调节 ]                        |
+-------------------------------------------+

说明:不再展示”当前室温 / 整备预计时长”等硬编码数据。环境状态由 LLM 动态判断并生成 summary,适应多设备类型(空调、灯、窗帘等)。


场景:确认执行询问 (PRE_CONFIRM) ​

适用:确认型(prep_type = confirm)整备模式。系统在会前推送询问卡片,由用户决定是否执行整备,设备在下发前等待用户确认。

按钮:[ ✅ 立即整备 ](正向,主按钮) + [ 🚫 暂不需要 ](负向/纠偏,次按钮)。

text
+-------------------------------------------+
| [🤖 智能空间助手]                 [••• | ◎] |
+-------------------------------------------+
|                                           |
|   ❓ **「临时会议」建议提前整备**          |
|   -------------------------------------   |
|   **A-101 大会议室** (4F)                 |
|   🕒 14:00 - 15:00 (**15 min后开始**)     |
|   -------------------------------------   |
|                                           |
|   **空调将调至 24℃,灯光将开启**          | ← LLM summary (≤30字)
|                                           |
|   [ ✅ 立即整备 ]  [ 🚫 暂不需要 ]        |
+-------------------------------------------+

交互规则:

操作行为
点击 [ ✅ 立即整备 ]下发整备动作,卡片转态为"已整备",不再提供「深度调节」入口,用户可自行进入空间控制面板调节
点击 [ 🚫 暂不需要 ]不执行任何整备动作;卡片保持正常亮度,操作区替换为「已取消」状态提示条,原按钮移除

点击 [ 🚫 暂不需要 ] 后的取消态原型:

text
+-------------------------------------------+
| [🤖 智能空间助手]                 [••• | ◎] |
+-------------------------------------------+
|                                           |
|   ✅ **已取消本次整备**                   |  ← 标题:图标 + 状态文案
|   -------------------------------------   |
|   **A-101 大会议室** (4F)                 |
|   🕒 14:00 - 15:00 (**15 min后开始**)     |
|   -------------------------------------   |
|                                           |
|   **环境将保持当前状态,不再自动调节**    |  ← summary 区域:说明文案
|                                           |
|   ┌───────────────────────────────┐       |
|   │  ⨯ 本场会议不进行自动整备       │       |  ← 虚线状态提示条(替代原按钮)
|   └───────────────────────────────┘       |
+-------------------------------------------+

注意:取消整备后卡片不置灰(保持正常亮度),仅将操作区替换为一条虚线边框的"已取消"提示条,原「立即整备 / 暂不需要」按钮移除,防止重复触发。用户如需手动调节,应主动进入空间控制面板。


5. 空间控制面板 ​

核心原则:面板由空间逻辑映射纯数据驱动渲染,管理员无需预设面板样式。详见 SA_空间控制面板设计.md。

5.1 一级面板:极简列表 ​

点击「深度调节」后进入空间控制面板,按语义数据类型逐行渲染:

text
+---------------------------------------------------+
| [ < 返回 ]  A-101 空间控制                  [ × ] |
+---------------------------------------------------+
|                                                    |
|  ===== 可操作能力 =====                            |
|                                                    |
|  空调开关                                  ● 开  > |
|  运行模式                                  制冷  > |
|  设定温度                                  24°C > |
|  灯光开关                                  ● 开  > |
|  灯光亮度                                  80%  > |
|  窗帘位置                                  50%  > |
|                                                    |
|  ===== 环境感知 =====                              |
|                                                    |
|  室内温度                                  28°C    |
|  室内湿度                                  65%     |
|  二氧化碳                                  450ppm  |
|                                                    |
+---------------------------------------------------+
|  ↻ 数据飞一会儿才到,点一下刷新                    |  ← 粘性 footer
+---------------------------------------------------+
|                                            [ 关闭 ] |
+---------------------------------------------------+

行类型规则:

数据类型左显示值来源右组件点击行为
boolicon + 名称value(true → ●开 / false → ○关)switch 开关直接切换
enumicon + 名称value(当前选项文字)选项文字 + >→ 二级面板
numbericon + 名称value + unit(如 24°C、80%)数值 + 单位 + >→ 二级面板
roicon + 名称自控平台实时上报值 + 单位数值 + 单位仅展示

取数说明:icon 取自 mapping.semantic_key 关联的标准语义库 icon 字段;number 的 unit 来自自控平台逻辑点位定义(M3 前端 Mock 预设,P2 接入真实字段);bool 映射规则为 true → 开 / false → 关。详见 SA_空间控制面板设计.md §1.1。

5.2 二级面板:语义详情交互 ​

点击一级面板中的 > 箭头,进入对应二级面板。

5.2.1 通用 number 组件(纯滑块) ​

text
+-------------------------------------------+
| [ < 返回 ]  设定温度                [ × ] |
+-------------------------------------------+
|                                           |
|           目标温度 (滑动调节)               |
|                                           |
|    ───────────────●────────────────        |
|         16                   24        30  |
|                                           |
|         24°C                              |
|                                           |
+-------------------------------------------+
|         [ 立即生效 ]                 |
+-------------------------------------------+
  • 量程 range 和步长 step 继承自空间逻辑映射
  • 无快捷预设标签

5.2.2 通用 enum 组件(选项列表) ​

text
+-------------------------------------------+
| [ < 返回 ]  运行模式                [ × ] |
+-------------------------------------------+
|                                           |
|              当前: 制冷                    |
|                                           |
|  ○ 自动                                   |
|  ● 制冷                                   |
|  ○ 制热                                   |
|  ○ 送风                                   |
|                                           |
+-------------------------------------------+
|         [ 立即生效 ]                 |
+-------------------------------------------+

6. 对话反馈逻辑 (Bot Feedback Logic) ​

为确保用户操作有明确回响,需根据场景下发即时文本消息:

  • 深度调节保存:
    • 逻辑说明: 仅当用户实际修改了温度数值(当前值 ≠ 进入页面时的初始值)并点击”保存应用”时,触发反馈。
    • 话术内容: “设定温度已更新为 [数值]℃,正在同步至现场设备。”
    • 不触发场景: 用户进入页面后未改动数值直接保存,或点击”返回/取消”,不发送任何新消息。

7. 开发对接说明 ​

  • 日志留痕: 用户点击所有按钮均需记录 Action_Log。
  • AppLink 参数: 通知卡片中的 [查看详情] 按钮需携带 room_id 和 action_type,确保直达后能准确渲染对应卡片或页面。

Released under the Private License.