eHome App 端详细需求设计文档
M06 告警提醒(对应需求:FR-1501~1506)
| 项目 | 内容 |
|---|---|
| 所属项目 | eHome 智能家居硬件配套 APP + 云端后台定制开发项目 |
| 设计依据 | 《eHome智能家居项目需求文档(PRD V1.1)》告警提醒章节、第8章、NFR-02(推送延迟≤5s)/NFR-03(安全);《eHome项目页面功能工时费用明细表》M06模块 |
| 范围说明 | 本模块覆盖告警规则引擎配置(设备状态/传感器阈值/系统事件)、多通道通知分发(APP推送/短信/邮件/电话)、告警记录与处置闭环、免打扰与分级策略、告警测试与诊断;不包含单设备告警UI(属 M04-R03/R04)、数据导出(属 M05)、场景自动化触发(属 M07,本模块仅作为事件源) |
| 优先级 | P0(MVP必须;告警是安全类产品的核心价值,漏报/误报直接影响用户信任与合规) |
| 里程碑 | M2 完整功能期开发(依赖 M01 账号、M02 设备列表、M04 传感器数据流、M10 推送通道) |
| 文档用途 | 直接交付 UI 设计、Flutter 开发(APP端)、云端开发、SRE、测试QA |
需求编号映射(以工时表 M06 功能项为准):
| 需求编号 | 功能项 |
|---|---|
| FR-1501 | 告警规则管理中心(规则列表/新建/编辑/启停/删除/模板) |
| FR-1502 | 多通道通知配置(渠道绑定/优先级/升级策略/测试发送) |
| FR-1503 | 告警记录与处置台(时间线/确认/忽略/升级/关联设备跳转) |
| FR-1504 | 免打扰与分级策略(时段/节假日/严重等级过滤/白名单) |
| FR-1505 | 告警测试与诊断工具(模拟触发/通道连通性检测/日志查看) |
| FR-1506 | 告警提醒 UI 规范(紧急态视觉/双主题/7语种/无障碍) |
1. 模块概述与设计原则
1.1 模块范围
| 序号 | 页面/功能项 | 需求编号 | 类型 | 优先级 |
|---|---|---|---|---|
| 1 | 告警规则管理中心 | FR-1501 | APP+云端 | P0 |
| 2 | 多通道通知配置页 | FR-1502 | APP+云端 | P0 |
| 3 | 告警记录与处置台 | FR-1503 | APP+云端 | P0 |
| 4 | 免打扰与分级策略页 | FR-1504 | APP+云端 | P0 |
| 5 | 告警测试与诊断页 | FR-1505 | APP+云端 | P0 |
| 6 | 告警提醒 UI 规范 | FR-1506 | UI | P0 |
边界与衔接说明:
- 入口A:首页 Tab「消息」→ 本模块 A03(告警记录);
- 入口B:M04-R01 设备详情页【告警设置】→ A01(预填该设备规则);
- 入口C:M02-Q04 设备信息页【告警规则】→ A01;
- 出口:A03 点击告警记录 → M04-R01(设备详情)或 M04-R02(历史图表定位时刻);A02 渠道配置联动 M01-P09(手机/邮箱绑定);A05 诊断失败 → M10 工单。
1.2 设计原则
- 零漏报优先于低误报:安全类告警(烟雾/水浸/门窗入侵)宁可误报不可漏报;普通告警(温湿度越限)允许合理抑制;分级策略区分对待。
- 多通道冗余:关键告警至少2条独立通道(APP+短信/邮件);单通道失败自动升级下一通道;通道状态实时可诊断。
- 处置闭环:每条告警必须有"触发→通知→确认→恢复/升级"完整生命周期;未确认告警持续提醒(可配置间隔);已恢复告警自动标记但保留历史。
- 免打扰不丢安全:免打扰时段仅静音普通告警;紧急告警(P0级)永远穿透;白名单设备/规则不受免打扰影响。
- 可测试可诊断:提供模拟触发工具,用户/运维可随时验证通道连通性与规则正确性;告警链路全链路日志可查。
- 双主题 + 7语种:告警文案/等级标签/处置按钮全部多语言;紧急态视觉(红/闪烁)在深色模式下保持高对比度。
1.3 用户与前置条件
- 用户状态:必须已登录(M01);未登录拦截跳转登录页。
- 设备前置:至少绑定1台设备方可创建有效规则;无设备时A01展示引导态。
- 渠道前置:短信/邮件/电话需 M01 已绑定并验证;APP推送需系统权限;未配置渠道时A02引导配置。
- 受限账号(M01-P09):允许配置规则与查看记录,但A02保存时提示"账号未补绑手机/邮箱,部分通知渠道不可用"。
- 权限前置:家庭管理员可管理所有规则;普通成员仅可查看记录与确认告警(不可编辑规则)。
2. 页面结构与流程图
2.1 页面导航结构
入口A:首页Tab[消息] ──► A03
入口B:M04-R01[告警设置] ──► A01(预填设备)
入口C:M02-Q04[告警规则] ──► A01
A01 告警规则管理中心
├─ 规则列表(按设备/等级/启停状态筛选)
├─ [新建规则] ──► 规则编辑页
│ ├─ 触发条件(设备状态/传感器阈值/系统事件/组合条件)
│ ├─ 严重等级(紧急/重要/一般/提示)
│ ├─ 通知渠道(多选+升级策略)
│ ├─ 免打扰例外(是否穿透免打扰)
│ └─ [保存] / [测试触发] ──► A05
├─ 规则编辑/复制/删除/启停
└─ [规则模板库] ──► 预设模板一键应用
A02 多通道通知配置页
├─ APP推送开关 + 系统权限引导
├─ 短信:绑定手机号(M01-P09) + 测试发送
├─ 邮件:绑定邮箱(M01-P09) + 测试发送
├─ 电话语音:绑定手机号 + 国际区号选择 + 测试呼叫(P1预留)
├─ 通知优先级排序(拖拽调整)
└─ 升级策略:一级通道失败后N分钟升级二级通道
A03 告警记录与处置台
├─ 时间线列表(未读蓝点+等级色标)
├─ 筛选(等级/设备/时间/处置状态)
├─ 单条点击 ──► 展开详情面板
│ ├─ 告警内容+触发值+阈值+时间
│ ├─ [确认] / [忽略] / [升级到人工]
│ ├─ [查看设备] ──► M04-R01
│ └─ [查看趋势] ──► M04-R02(带时间锚点)
├─ [全部已读] / [批量确认]
└─ 未确认告警顶部强提醒横幅
A04 免打扰与分级策略页
├─ 全局免打扰开关 + 时段设置(起止时间/重复周期)
├─ 节假日模式(同步系统日历/自定义)
├─ 等级过滤:免打扰期间哪些等级仍推送(默认紧急+重要穿透)
├─ 白名单:指定设备/规则不受免打扰影响
└─ 预览:"当前处于免打扰时段,仅紧急告警会通知您"
A05 告警测试与诊断页
├─ 模拟触发:选择规则→[立即触发测试告警]
├─ 通道连通性检测:逐渠道[发送测试消息] + 结果反馈
├─ 最近告警日志:时间线展示触发/通知/确认/失败事件
└─ [导出日志](P1预留) / [联系客服] ──► M10工单
2.2 核心状态机一:告警规则生命周期
[新建/编辑规则]
│
├──(校验通过)──► [已启用]
│ │
│ ├──(实时数据匹配触发条件)──► [告警触发]
│ │ │
│ │ ├──(生成告警记录)──► A03新增
│ │ ├──(按优先级分发通知)──► A02渠道发送
│ │ │ │
│ │ │ ├──(发送成功)──► [已通知]
│ │ │ └──(发送失败)──► [通知失败] ──► 升级策略触发下一级渠道
│ │ │
│ │ └──(重复告警抑制)──► 同规则10min内不重复触发(紧急告警除外)
│ │
│ ├──(用户暂停规则)──► [已暂停](保留配置,停止触发)
│ ├──(用户删除规则)──► [已删除]
│ └──(设备被移除)──► [已失效] ──► 通知用户"规则因设备移除已停用"
│
└──(校验失败)──► [保存失败] ──► Toast具体错误(条件冲突/渠道不可用/超限)
2.3 核心状态机二:告警处置生命周期
[告警触发]
│
├──(生成记录,状态=未读/未确认)──► A03列表 + 通知分发
│ │
│ ├──(用户点击通知/A03记录)──► [已读]
│ │ │
│ │ ├──(用户点击[确认])──► [已确认]
│ │ │ │
│ │ │ ├──(数据恢复正常)──► [已恢复](自动标记,记录恢复时间)
│ │ │ └──(持续异常)──► 保持[已确认·未恢复],按配置间隔重复提醒
│ │ │
│ │ ├──(用户点击[忽略])──► [已忽略](保留记录,不再提醒)
│ │ └──(用户点击[升级到人工])──► [已升级] ──► M10工单自动创建
│ │
│ ├──(超时未确认,超过配置阈值)──► [超时未确认] ──► 升级通知(更高优先级渠道/联系人)
│ │
│ └──(免打扰时段+非穿透等级)──► [静默记录](A03可见但不推送,免打扰结束后补推摘要)
│
└──(规则被禁用/删除)──► 后续触发停止,已有未确认告警自动标记[已失效]
3. 页面级详细需求
A01 告警规则管理中心(FR-1501)
页面目标:集中管理所有告警规则,支持灵活配置与快速复用。
页面元素:
| 元素 | 规格与规则 |
|---|---|
| 顶部导航 | 标题"告警规则";右侧[+]新建;左侧返回 |
| 筛选栏 | 设备下拉/等级多选/启停状态/搜索框;默认"全部已启用" |
| 规则列表 | 卡片式:规则名+触发条件摘要+等级色标(紧急红/重要橙/一般蓝/提示灰)+启停开关+最后触发时间 |
| 规则操作 | 左滑/长按菜单:[编辑][复制][删除];删除二次确认(含关联告警记录数提示) |
| [规则模板库] | 底部入口;弹窗展示预设模板(烟雾报警/门窗入侵/温湿度异常/设备离线等);点击[应用]→预填配置进入编辑页 |
| 无设备引导态 | 插画+"暂无设备,无法创建告警规则"+[去添加设备]→M03 |
| 权限提示 | 普通成员视角:列表只读,无新建/编辑/删除按钮;顶部提示"仅管理员可管理规则" |
规则编辑页字段:
| 字段 | 规格与规则 |
|---|---|
| 规则名称 | 1~50字符,必填;同家庭内唯一 |
| 触发条件 | 单选/组合:设备状态(在线/离线/低电量)/传感器阈值(>/</=/区间)/系统事件(OTA失败/配网失败)/组合(AND/OR);条件编辑器支持嵌套(最多3层) |
| 严重等级 | 四选一:紧急(P0)/重要(P1)/一般(P2)/提示(P3);紧急级强制穿透免打扰+重复提醒间隔≤5min |
| 通知渠道 | 多选:APP推送/短信/邮件/电话(P1);至少选1项;渠道不可用时置灰+引导A02 |
| 升级策略 | 一级渠道失败后N分钟(1/5/15/30)升级二级渠道;紧急级默认5min,其他默认15min |
| 免打扰例外 | 开关:是否穿透免打扰时段;紧急级默认开启且不可关闭 |
| 重复提醒 | 未确认告警重复提醒间隔(5/15/30/60min);紧急级≤5min |
| [测试触发] | 保存前可用;调用A05模拟触发,验证配置正确性 |
| [保存] | 校验通过后POST/PUT;成功Toast"规则已保存"+返回列表 |
逻辑规则:
- 条件校验:保存前校验条件合法性(量程/设备能力/逻辑冲突);冲突项红色边框+错误文案;组合条件嵌套>3层禁止保存;
- 模板应用:应用模板后所有字段预填,用户可修改;模板更新不影响已应用规则;
- 规则数量限制:单家庭上限50条;超限提示"规则已满,请删除旧规则";
- 设备联动:设备被移除→关联规则自动标记[已失效]+推送通知;设备重新绑定不自动恢复,需手动启用;
- 埋点:规则创建/编辑/删除数、模板应用率、测试触发使用率。
验收要点:规则CRUD+启停闭环;条件编辑器嵌套3层可用;模板应用预填正确;设备移除联动失效;权限隔离生效。
A02 多通道通知配置页(FR-1502)
页面目标:确保告警通知可靠送达,通道状态透明可控。
页面元素:
| 元素 | 规格与规则 |
|---|---|
| APP推送 | 主开关;关闭时灰色+提示"关闭后将错过所有告警";系统权限未授→[去开启]跳转系统设置 |
| 短信通道 | 绑定手机号显示(脱敏)+[更换]→M01-P09;未绑定→[绑定手机号];[发送测试短信]按钮 |
| 邮件通道 | 绑定邮箱显示+[更换]→M01-P09;未绑定→[绑定邮箱];[发送测试邮件]按钮 |
| 电话语音(P1) | 绑定手机号+国际区号选择器;[测试呼叫];P0阶段置灰+"即将上线" |
| 优先级排序 | 拖拽手柄调整通道顺序;默认APP>短信>邮件>电话;紧急告警忽略排序,全通道并发 |
| 升级策略配置 | 全局默认升级间隔(1/5/15/30min);可在A01规则级覆盖 |
| 通道状态指示 | 每通道右侧状态灯:绿=正常/黄=最近有失败/红=不可用;点击展开最近失败原因 |
逻辑规则:
- 渠道可用性:短信/邮件需M01已绑定且验证通过;APP推送需permission_handler检测权限;电话需M01绑定+国际号码格式校验;
- 测试发送:点击测试按钮→POST /alerts/channels/
{type}/test;成功Toast"测试消息已发送,请查收";失败展示错误码+排查建议; - 升级策略:一级通道发送失败(超时30s/返回错误码)→等待N分钟→触发二级通道;全部失败→标记[通知失败]+A05日志记录+运维告警;
- 紧急告警特殊处理:P0级告警无视优先级排序,所有已配置通道并发发送;免打扰时段仍发送;
- 受限账号:保存时若账号未补绑,弹窗"短信/邮件通道不可用,请先补绑"+[仍要保存]/[去补绑]。
验收要点:四通道配置+测试闭环;优先级拖拽生效;升级策略触发准确;紧急告警并发发送;受限账号提示正确。
A03 告警记录与处置台(FR-1503)
页面目标:高效处置告警,闭环每一条告警的生命周期。
页面元素:
| 元素 | 规格与规则 |
|---|---|
| 未确认告警横幅 | 顶部红色横幅"您有 N 条未确认告警"+[立即处理];点击滚动到第一条未确认记录 |
| 筛选栏 | 等级多选/设备下拉/时间范围/处置状态(全部/未读/未确认/已确认/已忽略/已升级);默认"全部+最近7天" |
| 时间线列表 | 每条:等级色标图标+规则名+触发值+时间(相对/绝对智能切换);未读左侧蓝点;未确认右侧脉冲动画;已恢复绿色✓ |
| 展开详情面板 | 点击条目展开:完整告警内容+触发值vs阈值+持续时间+[确认][忽略][升级到人工][查看设备][查看趋势] |
| [全部已读] | 顶部按钮;当前筛选结果全部标记已读 |
| [批量确认] | 长按进入多选模式;勾选后底部[批量确认];仅允许确认未确认记录 |
| 空态 | "暂无告警记录"+[调整筛选] |
| 加载更多 | 游标分页,每页20条;滚动到底部自动加载 |
逻辑规则:
- 处置操作:[确认]→POST /alerts/
{id}/ack;[忽略]→POST /alerts/{id}/dismiss;[升级到人工]→POST /alerts/{id}/escalate→自动创建M10工单; - 重复提醒:未确认告警按规则配置的间隔重复推送(APP推送+角标更新);确认后停止;
- 自动恢复:数据恢复正常后,未确认/已确认未恢复告警自动标记[已恢复],记录恢复时间;已忽略告警不自动恢复;
- 跳转联动:[查看设备]→M04-R01;[查看趋势]→M04-R02?timestamp=
{triggerTime}; - 权限:普通成员可确认/忽略自己的告警;管理员可操作所有告警;升级到人工需管理员权限。
验收要点:处置四操作闭环;重复提醒间隔准确;自动恢复触发正确;跳转M04定位精准;权限隔离生效。
A04 免打扰与分级策略页(FR-1504)
页面目标:平衡通知频率与安全底线,避免告警疲劳。
页面元素:
| 元素 | 规格与规则 |
|---|---|
| 全局免打扰开关 | 主开关;开启后下方配置区激活 |
| 时段设置 | 起止时间选择器+重复周期(每天/工作日/周末/自定义);支持多时段 |
| 节假日模式 | 开关:同步系统日历/自定义节假日列表;节假日全天免打扰 |
| 等级穿透配置 | 复选框:免打扰期间哪些等级仍推送;默认紧急+重要穿透;紧急级不可取消 |
| 白名单 | 设备/规则多选;白名单内不受免打扰影响;上限20项 |
| 实时预览 | 动态文案:"当前处于免打扰时段(22:00-07:00),仅紧急+重要告警及白名单设备会通知您" |
| [保存] | POST /alerts/dnd/config;成功Toast"免打扰设置已保存" |
逻辑规则:
- 时段判定:本地时间+用户时区(M01账号时区);跨午夜时段正确处理(如22:00-07:00);
- 等级穿透:P0/P1级告警永远穿透;P2/P3级在免打扰时段静默记录,免打扰结束后补推摘要("您在免打扰期间有N条一般/提示告警");
- 白名单优先级:白名单设备/规则的告警无视免打扰时段与等级过滤;
- 节假日同步:iOS EventKit / Android CalendarContract 读取系统日历;权限未授→引导开启;自定义节假日支持导入ICS(P2);
- 冲突处理:多时段重叠时取并集;节假日与时段重叠时节假日优先。
验收要点:时段/节假日/等级/白名单四维策略正确;跨午夜时段无误;补推摘要准确;日历同步权限降级可用。
A05 告警测试与诊断页(FR-1505)
页面目标:让用户/运维随时验证告警链路健康,快速定位问题。
页面元素:
| 元素 | 规格与规则 |
|---|---|
| 模拟触发 | 下拉选择已启用规则+[立即触发测试告警];触发后A03新增测试告警(标记"测试"标签) |
| 通道连通性检测 | 每通道[发送测试消息]按钮;点击后显示loading→成功✓/失败✘+错误详情;检测结果缓存5min |
| 最近告警日志 | 时间线展示最近50条事件:触发/通知发送/通知成功/通知失败/确认/忽略/升级;每条含时间戳+详情 |
| 日志筛选 | 按规则/通道/事件类型/时间范围筛选 |
| [导出日志] | P1预留;P0置灰 |
| [联系客服] | 携带最近日志上下文→M10工单 |
逻辑规则:
- 模拟触发:POST /alerts/rules/
{id}/test;生成测试告警记录(不影响真实数据统计);测试告警在A03标记橙色"测试"标签,7天后自动清理; - 通道检测:POST /alerts/channels/
{type}/health;返回连通性+延迟+最近失败原因;检测结果不缓存敏感信息; - 日志留存:云端保留30天;APP本地缓存最近50条;日志不含用户PII(脱敏);
- 权限:管理员可查看所有日志;普通成员仅可查看自己相关告警日志;
- 性能:日志查询P99 ≤500ms;模拟触发≤2s生成测试告警。
验收要点:模拟触发生成测试告警正确;通道检测结果准确;日志时间线完整;权限隔离;客服工单携带上下文。
4. 通用交互与视觉规范(UI设计输入,FR-1506)
- 双主题:浅色/深色两套;告警等级色标(紧急红#D32F2F/重要橙#F57C00/一般蓝#1976D2/提示灰#757575)在深色模式下调整亮度保持对比度;未确认脉冲动画深色下降低饱和度防刺眼。
- 组件清单:规则卡片(等级色标+启停开关)、条件编辑器(嵌套芯片组)、通道配置项(状态灯+测试按钮)、告警时间线条目(等级图标+脉冲动画)、处置按钮组(确认/忽略/升级)、免打扰时段选择器、日志时间线、测试告警标签。
- 动效规范:未确认告警脉冲动画(2s周期);处置操作反馈微动效(200ms);通道测试loading旋转;列表项入场交错动画。
- 多语言:告警文案/等级标签/处置按钮/免打扰预览文案全部资源文件;德/法预留1.4倍空间;测试消息内容多语言。
- 无障碍:等级不仅靠颜色(图标+文字标签);脉冲动画可关闭(减少运动偏好);处置按钮焦点顺序合理;读屏可朗读告警详情/日志事件。
- 响应式:平板/折叠屏宽屏模式下A03采用左右分栏(左列表+右详情面板);A01规则列表网格视图。
5. 客户端技术要求(Flutter)
- 状态管理:Riverpod/BLoC;规则列表用 FutureProvider + 缓存;告警记录用 StreamProvider(MQTT) + 轮询兜底;未读数全局 Provider 驱动 Tab 红点与横幅。
- MQTT 订阅:复用 M02/M04 连接层;订阅 alerts/new/
{familyId}、alerts/update/{alertId}、alerts/dnd/status;消息解析 protobuf/json schema 校验;断连自动重连+指数退避。 - 条件编辑器:封装 AlertConditionEditor 组件;支持嵌套AND/OR(最多3层);拖拽排序;实时校验反馈;序列化JSON存储。
- 本地缓存:Hive 存储规则列表缓存、告警记录最近50条、通道检测结果;TTL 5min(规则)/1min(记录);缓存键=familyId+paramsHash。
- 深链路由:注册 ehome://alert/
{alertId}路由;A03 接收参数定位记录;推送点击携带 alertId 直达。 - 性能优化:告警列表虚拟滚动(sliver);日志查询分页;条件编辑器渲染隔离到 Isolate(复杂嵌套时)。
- 安全:告警数据 TLS 传输;本地缓存加密;Sentry 上报脱敏;测试告警标记防混淆真实数据。
- 埋点:规则创建/编辑/删除数、测试触发使用率、通道测试成功率、处置操作分布、免打扰开启率;性能埋点(告警推送延迟、列表渲染耗时)。
6. 云端需求(告警引擎服务)
6.1 接口清单
| 接口 | 方法 | 说明 |
|---|---|---|
| /alerts/rules | GET/POST/PUT/DELETE | 规则CRUD;POST校验条件合法性+数量限制;返回规则ID |
/alerts/rules/{id}/toggle | POST | 启停规则 |
/alerts/rules/{id}/test | POST | 模拟触发测试告警;返回测试告警ID |
| /alerts/rules/templates | GET | 获取预设模板列表 |
| /alerts/channels | GET/PUT | 获取/更新通道配置+优先级+升级策略 |
/alerts/channels/{type}/test | POST | 发送测试消息;返回发送结果 |
/alerts/channels/{type}/health | GET | 通道连通性检测;返回状态+延迟+最近失败 |
| /alerts | GET | 告警记录列表;支持等级/设备/时间/状态筛选;游标分页 |
/alerts/{id}/ack | POST | 确认告警 |
/alerts/{id}/dismiss | POST | 忽略告警 |
/alerts/{id}/escalate | POST | 升级到人工→创建M10工单 |
| /alerts/batch-ack | POST | 批量确认 |
| /alerts/unread-count | GET | 未读/未确认告警数 |
| /alerts/dnd/config | GET/PUT | 免打扰配置CRUD |
| /alerts/logs | GET | 告警链路日志;支持规则/通道/事件类型筛选 |
(MQTT)alerts/new/{familyId} | — | 新告警推送;QoS1 |
(MQTT)alerts/update/{alertId} | — | 告警状态更新推送 |
| (内部)规则引擎 | — | Drools/自研轻量引擎;订阅设备数据流;匹配规则;生成告警;重复抑制 |
| (内部)通知分发器 | — | 按优先级+升级策略分发;通道适配器(APNs/FCM/短信网关/邮件SMTP);失败重试+升级 |
| (内部)定时调度器 | — | 未确认告警重复提醒;免打扰补推摘要;测试告警7天清理 |
6.2 关键策略
- 规则引擎:内存规则匹配(Drools/自研);支持AND/OR嵌套3层;热加载规则变更≤2s;重复告警抑制(同规则10min窗口,P0级除外)。
- 通知分发:优先级队列(P0>P1>P2>P3);P0级全通道并发;其他按排序串行;单通道超时30s→失败→升级策略触发;全部失败标记+运维告警。
- 通道适配器:APNs/FCM推送;短信网关(Twilio/阿里云);邮件SMTP;电话语音(P1 Twilio Voice);每通道独立熔断器(连续失败5次熔断5min)。
- 免打扰执行:云端判定免打扰时段+等级穿透+白名单;静默告警写入DB但不推送;免打扰结束定时任务扫描补推摘要。
- 数据合规:告警日志留存30天;用户删除账号时清除关联告警记录(M10合规通道);GDPR Right to Erasure 覆盖。
- 性能SLA:告警触发到推送P99 ≤5s;规则引擎匹配≤10ms/条;通知分发≤1s;接口QPS ≥2000/实例。
- 监控看板:告警触发量/误报率/漏报率、通知成功率/通道失败分布、处置时效(平均确认时长)、接口延迟/错误率;异常自动告警SRE。
7. 验收标准核对表
| 需求 | 验收标准 | 本设计落点 |
|---|---|---|
| FR-1501 | 规则CRUD+启停+模板闭环;条件编辑器3层嵌套;设备移除联动 | A01;rules接口;模板库 |
| FR-1502 | 四通道配置+测试;优先级排序;升级策略触发;紧急告警并发 | A02;channels接口;分发器 |
| FR-1503 | 处置四操作闭环;重复提醒准确;自动恢复;跳转M04定位 | A03;alerts接口;MQTT更新 |
| FR-1504 | 四维免打扰策略正确;补推摘要;日历同步降级 | A04;dnd/config接口;调度器 |
| FR-1505 | 模拟触发测试告警;通道检测准确;日志完整;客服联动 | A05;test/health/logs接口 |
| FR-1506 | 双主题/7语种/无障碍/响应式全达标 | 第4章;UI组件清单;无障碍规范 |
QA测试要点(专项):
- 告警全链路:规则触发→推送到达→确认处置,全流程≤5s;重复抑制验证(10min内仅1条,P0除外);
- 通道可靠性:单通道失败→升级策略触发;全通道失败→标记+运维告警;熔断器生效(连续失败5次熔断);
- 免打扰:时段/节假日/等级/白名单组合测试;补推摘要准确;P0级永远穿透;
- 处置闭环:确认/忽略/升级/自动恢复四路径;未确认重复提醒间隔准确;批量操作正确;
- 测试诊断:模拟触发生成测试告警;通道检测结果准确;日志时间线完整;测试告警7天自动清理;
- 权限与安全:普通成员/管理员权限隔离;日志脱敏;账号删除后告警数据清除;
- 性能压测:1000条规则并发匹配≤10ms;告警推送P99≤5s;列表1000条渲染≤1s;
- 兼容性:iOS 13+/Android 7.0+真机覆盖;折叠屏/平板分栏;深色模式告警色标对比度;脉冲动画减少运动偏好生效。
8. 依赖与风险
| 项 | 说明 | 责任/时点 |
|---|---|---|
| M04 传感器数据流 | 告警触发数据源;阈值/量程需与M04对齐 | M1接口契约冻结;M2联调 |
| M02 设备/家庭模型 | 规则设备绑定、权限过滤、设备移除联动 | M1已交付 |
| M01 账号体系 | 渠道绑定、受限账号标记、时区、权限角色 | M1已交付 |
| M10 推送/工单 | APP推送通道、升级到人工工单、帮助中心 | M1并行 |
| M03 配网绑定 | 无设备引导跳转配网 | M1已交付 |
| 第三方通道服务 | Twilio/阿里云短信、SMTP邮件服务商SLA影响通知可靠性 | M0完成供应商选型+签约 |
| 规则引擎选型 | Drools/自研轻量引擎;性能与运维成本权衡 | M0技术评审确定 |
| 电话语音(P1) | Twilio Voice国际号码合规+成本;一期预留 | P2评估 |
| 告警合规 | 安全类告警漏报法律责任;需法务确认告警等级定义与免责声明 | M1法务评审 |
| 误报率控制 | 传感器噪声/网络抖动导致误报;需固件侧滤波+云端二次校验 | M2联合调优 |
以上为 M06 告警提醒(FR-1501~1506)完整详细需求设计:规则引擎、多通道冗余、处置闭环、免打扰分级、测试诊断五大核心能力均已落点;与 M01/M02/M03/M04/M10 文档格式及衔接协议一致(数据同源、权限联动、推送复用),可直接交付 UI 与开发。如确认无误,可按同样格式继续输出 M07 场景自动化、M08 设备管理等后续模块。