找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

3780

积分

0

好友

522

主题
发表于 2 小时前 | 查看: 3| 回复: 0

核心主题:核心交互描述

核心任务与操作:

选择一个复杂交互(如:设置能耗阈值告警),详细描述每一步操作、系统的反馈和规则。

交付物: 一份关键交互逻辑说明文档。

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后台实现,可参考宽屏布局)。主要分为以下几个区域:

  • 顶部导航栏:返回箭头(←)、页面标题“设置告警规则”、保存按钮(右上角,初始禁用)。
  • 表单主体(从上到下):
    1. 监控对象:只读显示当前设备名称(如“3号车间东线电表”),若从规则列表页进入,则此处为设备选择器(下拉框或树形选择)。
    2. 规则名称:输入框,占位文本“例如:3号车间功率上限”。
    3. 阈值类型:单选按钮组,选项:上限(默认)、下限、区间。
    4. 阈值数值:根据阈值类型动态变化:
      • 上限/下限:单个数字输入框,后缀“kW”。
      • 区间:两个数字输入框,分别代表下限和上限,中间用“至”连接。
    5. 生效时间:单选按钮组,选项:全天(默认)、自定义时间段。
      • 选择自定义时,下方出现两个时间选择器(开始时间、结束时间),格式 HH:mm。
    6. 通知方式:多选框组,选项:企业微信(默认选中)、短信、邮件。可多选,至少选一项。
    7. 高级选项(可折叠):点击“高级选项”展开更多设置:
      • 告警沉默周期:下拉选择(不沉默、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. 设计理由与思考

  1. 为什么先做单个设备规则,而不是批量配置?
    MVP阶段需要聚焦核心价值验证,单个设备的阈值设置已能验证用户是否需要预警功能。批量配置复杂度高,后续根据反馈再决定是否增加。
  2. 阈值类型的区间设计
    用户可能需要监控正常范围(如50-80 kW),区间模式比两个单独规则更直观。
  3. 沉默周期
    避免告警风暴,提升通知有效性,是B端产品的常见需求。
  4. 生效时间
    考虑到有些设备在非工作时间不需要监控(如办公室照明),自定义时间段能减少无效告警。
  5. 前端校验与后端校验
    前端做基础格式校验提升用户体验,后端做最终业务校验保证数据完整性。想了解更多实战中的产品设计细节和交互原则,可以到云栈社区的产品经理板块看看。

8. 待讨论/待决策点

  • 规则名称唯一性是全局唯一还是仅同一设备下唯一?建议全局唯一,避免混淆,但若用户需要为不同设备设置同名规则,则需修改规则。待与用户沟通确认。
  • 沉默周期:是否支持自定义分钟输入?初步定为枚举,降低复杂度。
  • 通知方式:邮件是否需要真实SMTP配置?MVP阶段可只实现企业微信,其他为占位。



上一篇:如何用 Claude Sonnet 4.6 API 在 20 美金内克隆目标网站
下一篇:基于大语言模型的AI渗透测试工具PentestAgent:从安装配置到实战应用教程
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-3-15 21:32 , Processed in 0.448325 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表