Skip to content

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

1. 背景与目标

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

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

2.1 链路术语定义

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

2.2 推送渠道

  1. 服务号/企业微信推送:系统通过专属服务号发送整备通知卡片。
  2. 消息交互流:用户进入小程序 Chatbox 后,该通知卡片会自动呈现在对话流的最新位置。

3. 视觉规范

  • Header: 统一为 “智能空间助手”
  • 操作项顺序: 统一采用 “ [ 正向操作 ] [ 负向/纠偏操作 ] ”(例如: “ [ 🛠️ 深度调节 ] [ 🚫 取消备场 ] ”)。
  • 字体规范: 调节页内的分段标题(风速、模式、扫风等预留项)统一采用粗体 (Bold)
  • 动态交互: 确认型卡片点击后需支持原位状态转换。

4. 场景原型 (Prototypes)

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

触发逻辑NowStartTprep 且策略为自动。

text
+-------------------------------------------+
| [🤖 智能空间助手]                 [••• | ◎] |
+-------------------------------------------+
|                                           |
|   ✨ **环境已为您提前备场**                |
|                                           |
|   -------------------------------------   |
|   **A-101 大会议室** (4F)                 |
|   🕒 10:00 - 11:30 (**15 min后开始**)     |
|   -------------------------------------   |
|                                           |
|   🌡️ 环境:**制冷运行中** (目标 24℃)       |
|   当前室温 28℃,整备预计需 15 分钟        |
|                                           |
|   [ 🛠️ 深度调节 ]       [ 🚫 取消备场 ]    |
|                                           |
+-------------------------------------------+

场景 B:待确认开启 (PRE_CONFIRM)

触发逻辑NowStartTprep 且策略为需确认。

text
(1) 初始态:等待确认
+-------------------------------------------+
|   ❓ **建议为您提前调节环境**              |
|   -------------------------------------   |
|   **B-202 研讨室** (2F)                   |
|   🕒 14:00 - 15:00 (**12 min后开始**)     |
|   -------------------------------------   |
|   ❄️ 开启空调并冷至 **24℃**?              |
|   [ ✅ 立即开启 ]      [ 取消备场 ]         |
+-------------------------------------------+

(2) 点击“立即开启”后:原位转换
+-------------------------------------------+
|   ✅ **整备指令已下发**                   |
|   -------------------------------------   |
|   **B-202 研讨室** (2F)                   |
|   🕒 14:00 - 15:00                        |
|   -------------------------------------   |
|   🌡️ 环境:**正在调节中...**               |
|   [ 🛠️ 深度调节* ]     [ 🚫 取消备场 ]    |
+-------------------------------------------+
*说明:点击“立即开启”后,按钮原位转为“深度调节”,并保持与 AUTO 模式一致的按钮顺序。

(3) 5分钟无响应:超时置灰
*逻辑:若 5min 内点击未触发,卡片全量**置灰 (Grayscale)** 且所有按钮进入 **禁用 (Disabled)** 状态。卡片顶端辅助说明:`[整备建议已过期]`。

NOTE

关于环境状态展示的说明: 卡片中展示的“当前室温”与“预估整备时长”为触发瞬间的快照数据 (Snapshot Reference),旨在建立用户心理预期。由于算法偏差或物理设备状态波动(如:到达不了目标值),前端不强制要求实时更新该数值,以减少因数值反复波动带来的干扰。

5. 空间控制面板 (index.html 视觉对正)

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

5.1 一级面板:极简列表

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

text
+---------------------------------------------------+
| [ < 返回 ]  A-101 空间控制                  [ × ] |
+---------------------------------------------------+
|                                                    |
|  ===== 可操作能力 =====                            |
|                                                    |
|  空调开关                                  ● 开  > |
|  运行模式                                  制冷  > |
|  设定温度                                  24°C > |
|  灯光开关                                  ● 开  > |
|  灯光亮度                                  80%  > |
|  窗帘位置                                  50%  > |
|                                                    |
|  ===== 环境感知 =====                              |
|                                                    |
|  室内温度                                  28°C    |
|  室内湿度                                  65%     |
|  二氧化碳                                  450ppm  |
|                                                    |
+---------------------------------------------------+
|                                            [ 关闭 ] |
+---------------------------------------------------+

行类型规则

数据类型左显示值来源右组件点击行为
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)

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

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

7. 开发对接说明

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

Released under the Private License.