## ADDED Requirements ### Requirement: 预警规则不依赖已删除额度字段 后台预警规则 SHALL 按本批次响应字段展示规则,响应类型、列表、详情和列选项 MUST NOT 依赖 `real_data_mb`;套餐商品接口和套餐选项的同名额度字段 MUST 保留。 #### Scenario: 规则响应不含额度 - **WHEN** 后台加载规则列表或详情且后端不再返回 `real_data_mb` - **THEN** 页面 MUST 不展示规则的套餐流量额度列及详情字段 - **AND** MUST 正常展示套餐、阈值百分比、启用状态、备注和更新时间 - **AND** MUST NOT 因删除字段显示 `undefined` 或产生类型错误 #### Scenario: 套餐商品额度保留 - **WHEN** 规则表单从 `/api/admin/packages` 加载套餐候选 - **THEN** 套餐类型及选项中 `real_data_mb` 的原用途 MUST 保留 - **AND** 原规则创建/修改参数与阈值百分比校验 MUST 不变 ### Requirement: 预警记录展示主套餐与加油包流量快照 后台预警列表和详情 SHALL 接收并展示后端 `threshold_mb`、`used_mb`、`limit_mb`,三者单位为 MB;阈值流量 MUST 使用触发时快照,不以当前套餐额度重新计算,已用和总量说明 MUST 标注包含加油包。 #### Scenario: 展示预警流量 - **WHEN** 预警列表或详情返回三项 MB 数值 - **THEN** 页面 MUST 展示「阈值流量(MB)」「已用流量(MB,含加油包)」「总流量(MB,含加油包)」或同等明确标签 - **AND** MUST 以两位小数展示,不混用规则百分比或 GB 数值 - **AND** MUST NOT 使用当前套餐商品或前端计算覆盖 `threshold_mb` #### Scenario: 零与缺失值 - **WHEN** 流量值为 0、null 或缺失 - **THEN** 0 MUST 展示 `0.00`,null/缺失 MUST 展示 `-` - **AND** MUST NOT 把 0 显示为缺失或将缺失值当作 0 #### Scenario: 导出仍由后端生成 - **WHEN** 用户创建预警导出任务或下载历史文件 - **THEN** 前端 MUST 复用原导出任务流程,不新增前端列模板或重写历史文件 - **AND** 本批次验收 MUST 检查新任务最后一列阈值流量及历史任务原文件不变