核心主题:核心交互描述
核心任务与操作:
选择一个复杂交互(如:设置能耗阈值告警),详细描述每一步操作、系统的反馈和规则。
交付物: 一份关键交互逻辑说明文档。
AI工具使用提示:
“请详细描述用户‘设置能耗阈值告警’的完整交互流程,从入口开始,到每一步的输入、校验、保存和成功反馈。”
核心交互描述:设置能耗阈值告警

| 文档信息 |
内容 |
| 功能名称 |
设置能耗阈值告警 |
| 版本号 |
V1.0 |
| 作者 |
----------- |
| 日期 |
---------------- |
| 关联功能 |
设备详情页(第18天)、告警列表页(第17天)、告警处理反馈页(第16天)、仪表盘(第19天) |
1. 功能概述
用户(园区运维主管)可以为特定的设备或建筑设置能耗告警规则。当实时能耗超过设定的阈值时,系统将通过指定渠道通知相关人员,并生成一条告警记录,后续可进入告警处理流程。
核心价值:实现从被动响应到主动预警的转变,帮助用户在能耗异常初期及时介入,避免设备故障或能源浪费。
2. 入口与上下文
2.1 入口位置
- 入口A:从设备详情页(第18天)点击“设置告警”按钮进入。此时页面自动选中当前设备,用户可快速为该设备配置规则。
- 入口B:从告警规则列表页(类似第17天列表页,但专门管理规则)点击“新增规则”按钮进入。此时页面无预选对象,需用户手动选择设备/建筑。
- 入口C:从仪表盘(第19天)的“告警设置”快捷入口进入,通常跳转到规则列表页,再点击新增。
本文档以入口A(设备详情页进入)为主要场景描述,其他入口的差异点将在“特殊场景”中说明。
2.2 前置条件
- 用户已登录,并拥有该设备的配置权限(MVP阶段暂不实现复杂权限,默认所有操作员都有权限)。
- 设备处于在线状态(但离线也可配置规则,仅提示“设备当前离线,规则将在设备上线后生效”)。
3. 交互流程详细描述
3.1 页面布局与元素
页面采用移动端优先的响应式设计(但本次MVP先在PC后台实现,可参考宽屏布局)。主要分为以下几个区域:
- 顶部导航栏:返回箭头(←)、页面标题“设置告警规则”、保存按钮(右上角,初始禁用)。
- 表单主体(从上到下):
- 监控对象:只读显示当前设备名称(如“3号车间东线电表”),若从规则列表页进入,则此处为设备选择器(下拉框或树形选择)。
- 规则名称:输入框,占位文本“例如:3号车间功率上限”。
- 阈值类型:单选按钮组,选项:上限(默认)、下限、区间。
- 阈值数值:根据阈值类型动态变化:
- 上限/下限:单个数字输入框,后缀“kW”。
- 区间:两个数字输入框,分别代表下限和上限,中间用“至”连接。
- 生效时间:单选按钮组,选项:全天(默认)、自定义时间段。
- 选择自定义时,下方出现两个时间选择器(开始时间、结束时间),格式 HH:mm。
- 通知方式:多选框组,选项:企业微信(默认选中)、短信、邮件。可多选,至少选一项。
- 高级选项(可折叠):点击“高级选项”展开更多设置:
- 告警沉默周期:下拉选择(不沉默、5分钟、10分钟、30分钟),默认“不沉默”。
- 告警级别:单选(警告/严重/致命),默认“警告”。
- 操作按钮:底部固定栏包含“取消”和“保存”按钮。
3.2 正常流程步骤
| 步骤 |
用户操作 |
系统反馈/行为 |
校验规则 |
| 1 |
从设备详情页点击“设置告警” |
1.进入设置页面,监控对象自动填充为当前设备名称(只读显示)。 2.规则名称默认为空。阈值类型默认为“上限”。 3.阈值数值输入框为空。 4.生效时间默认为“全天”。 5.通知方式默认选中“企业微信”。 6.高级选项折叠。 7.保存按钮禁用。 |
无 |
| 2 |
输入规则名称(如“3层车间功率上限”) |
输入框实时显示输入内容; 规则名称字段右侧显示当前字符数(如“12/20”)。 保存按钮仍禁用(因阈值未填)。 |
必填,最多20字符,不允许纯空格 |
| 3 |
选择阈值类型(保持“上限”) |
阈值数值区域显示单个数字输入框,后缀“kW”。 |
无 |
| 4 |
输入阈值数值(如“85”) |
输入框接受数字输入; 当输入合法数值后,保存按钮变为可点击状态。 |
必须为数字,且大于0;若为小数,最多两位小数 |
| 5 |
(可选)展开高级选项 |
高级选项区域展开,显示沉默周期、告警级别等选项。 |
无 |
| 6 |
保持默认或修改其他选项 |
各控件实时反馈状态。 |
沉默周期必须选择一项;告警级别必须选一项 |
| 7 |
点击“保存”按钮 |
按钮变为“保存中…”并禁用; 前端对必填项进行最终校验; 通过后调用后端API POST /api/rules。 |
见第4节业务规则 |
| 8 |
API返回成功(HTTP 201) |
页面顶部显示成功提示“规则保存成功”(绿色横幅,3秒后自动消失); 延迟1秒后自动返回上一页(设备详情页)或规则列表页。 |
- |
| 9 |
(可选)用户点击“取消” |
若表单未修改,直接返回上一页; 若已修改,弹出确认框:“放弃已编辑的内容?”用户确认后返回,取消则留在当前页。 |
- |
3.3 控件与交互细节
- 规则名称输入框:
- 失去焦点时,若为空,显示红色错误提示“规则名称不能为空”。
- 输入时实时限制最多20字符,超过无法输入。
- 若名称与已有规则重复(需后端校验),保存时返回错误,前端在输入框下方显示“规则名称已存在”。
- 阈值数值输入框:
- 只能输入数字和小数点,可退格删除。
- 失去焦点时,若为空,显示“请输入阈值”。
- 若为负数或零,显示“阈值必须大于0”。
- 若输入小数,自动保留最多两位(不四舍五入截断?统一采用四舍五入保留两位)。
- 时间选择器(自定义时间段):
- 点击时间输入框,弹出滚动选择器(时、分),可选择00:00-23:59。
- 开始时间不能晚于结束时间;若用户先选结束时间再选开始,需校验并提示“开始时间不能晚于结束时间”。
- 通知方式多选框:
- 至少选择一项,若用户尝试取消最后一项,系统阻止并提示“至少选择一种通知方式”。
- 默认选中“企业微信”。
- 保存按钮状态:
- 初始禁用。
- 当规则名称非空、阈值数值合法且不为空时,变为可用(高亮)。
- 点击保存后,按钮置灰并显示“保存中…”,防止重复提交。
- 返回/取消:
- 点击顶部返回箭头或“取消”按钮,若表单有未保存更改,弹出二次确认框(见异常处理)。
3.4 异常处理
| 异常场景 |
处理方式 |
| 网络超时/服务端不可达 |
保存时若请求超时,显示错误提示“网络连接失败,请检查网络后重试”。用户可再次点击保存。 |
| 规则名称已存在 |
后端返回409 Conflict,前端在规则名称输入框下方显示红色提示“该规则名称已存在,请使用其他名称”。保存按钮恢复为可用,用户可修改后重试。 |
| 设备已离线 |
保存成功但设备离线,成功提示后附加小字“设备当前离线,规则将在设备上线后生效”。(可在成功横幅中显示) |
| 用户中途离开(未保存) |
点击返回或关闭页面时,若表单有未保存内容,弹窗确认:“有未保存的更改,确定要离开吗?” 选项“取消”留在页面,“确定”离开。 |
| 并发编辑 |
MVP阶段暂不处理,若两个用户同时编辑同一设备的规则,后保存者可能覆盖前者的规则。可在后期引入版本号机制。 |
| 后端业务错误 |
如“设备不支持该阈值类型”(极少见),返回400,前端弹窗显示错误信息。 |
| 阈值超出合理范围 |
前端可做简单范围校验(如0-1000 kW),但更准确的合理范围应由后端校验并返回错误。前端在阈值输入框下方显示后端返回的错误信息。 |
4. 业务规则汇总
| 规则项 |
规则描述 |
| 规则名称 |
必填,1-20字符,同一用户下唯一(不同用户可重名,但MVP只有单一租户,故全平台唯一) |
| 监控对象 |
必选,从上下文自动填充或手动选择,一个规则只能关联一个设备/建筑(MVP阶段不支持批量) |
| 阈值类型 |
枚举值:上限、下限、区间 |
| 阈值数值 |
上限/下限时:数字 > 0,最多两位小数;区间时:下限 < 上限,且均 > 0 |
| 生效时间 |
全天:00:00-23:59;自定义:开始时间 < 结束时间,时间精度分钟 |
| 通知方式 |
至少选择一种(企业微信/短信/邮件) |
| 沉默周期 |
枚举值:0(不沉默)、5、10、30(分钟)。表示相同告警触发后,在沉默周期内不再重复发送通知 |
| 告警级别 |
枚举值:警告、严重、致命,影响告警列表中的颜色标识和通知优先级 |
| 状态 |
新建规则默认启用;可后续在规则列表中禁用/启用(本次不涉及) |
| 生效逻辑 |
规则保存成功后立即生效(若设备在线);设备离线时暂不触发,待设备上线后检测 |
5. 数据与接口契约
5.1 保存规则接口 POST /api/v1/rules
成功响应:HTTP 201,返回规则ID等信息。
错误响应:400(参数错误)、409(规则名称重复)、500(服务器错误),统一格式:
{
"code": 409,
"message": "规则名称已存在",
"data": null
}
5.2 获取设备列表(用于入口B) GET /api/v1/devices?type=power_meter
返回设备ID和名称,供下拉选择器使用。
5.3 校验规则名称唯一性(可选)GET /api/v1/rules/check-name?name=xxx
用于前端实时校验,返回是否可用。
(MVP阶段可简化:保存时再校验,前端不做实时检查)
6. 与前后功能的关联
- 前置依赖:设备数据需已录入系统(模拟数据阶段可手动创建)。
- 触发告警:规则保存后,由后台规则引擎(或定时任务)根据实时数据判断是否触发告警。触发后产生一条告警记录,并进入第16天的反馈页处理流程。
- 告警记录列表:第17天的告警列表页会展示由这些规则产生的告警。
- 仪表盘:第19天仪表盘上的活跃告警数包含此规则产生的告警。
- 设备详情页:配置成功后,设备详情页可显示该设备已配置的规则列表(未来功能)。
7. 设计理由与思考
- 为什么先做单个设备规则,而不是批量配置?
MVP阶段需要聚焦核心价值验证,单个设备的阈值设置已能验证用户是否需要预警功能。批量配置复杂度高,后续根据反馈再决定是否增加。
- 阈值类型的区间设计:
用户可能需要监控正常范围(如50-80 kW),区间模式比两个单独规则更直观。
- 沉默周期:
避免告警风暴,提升通知有效性,是B端产品的常见需求。
- 生效时间:
考虑到有些设备在非工作时间不需要监控(如办公室照明),自定义时间段能减少无效告警。
- 前端校验与后端校验:
前端做基础格式校验提升用户体验,后端做最终业务校验保证数据完整性。想了解更多实战中的产品设计细节和交互原则,可以到云栈社区的产品经理板块看看。
8. 待讨论/待决策点
- 规则名称唯一性是全局唯一还是仅同一设备下唯一?建议全局唯一,避免混淆,但若用户需要为不同设备设置同名规则,则需修改规则。待与用户沟通确认。
- 沉默周期:是否支持自定义分钟输入?初步定为枚举,降低复杂度。
- 通知方式:邮件是否需要真实SMTP配置?MVP阶段可只实现企业微信,其他为占位。
|