This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: Admin Device Realtime Signal Summary
|
||||
|
||||
The admin asset information view SHALL use backend-provided signal summary fields for device assets and MUST NOT continue using raw signal metrics as primary displayed signal content.
|
||||
|
||||
#### Scenario: Show backend signal summary on device asset page
|
||||
|
||||
- **GIVEN** 用户正在查看后台“资产信息”中的设备资产详情
|
||||
- **AND** `device_realtime` 返回了 `signal_quality`
|
||||
- **WHEN** 设备实时信息区块完成渲染
|
||||
- **THEN** 页面 MUST 显示 `signal_quality`
|
||||
- **AND** 页面 MUST 在 `signal_bad_reason` 有值时显示该字段
|
||||
- **AND** 页面 MUST 在 `signal_bad_reason` 为空时显示稳定占位内容
|
||||
|
||||
#### Scenario: Raw signal metrics are no longer shown in admin device realtime section
|
||||
|
||||
- **GIVEN** 用户正在查看后台“资产信息”中的设备实时信息
|
||||
- **WHEN** 页面渲染设备信号相关内容
|
||||
- **THEN** 页面 MUST NOT 显示 `信号强度(RSSI)`、`接收功率(RSRP)`、`接收质量(RSRQ)`、`信噪比(SINR)` 这些原始信号指标标签
|
||||
- **AND** 页面 MUST NOT 继续展示前端推导的旧“信号强度”字段
|
||||
|
||||
### Requirement: Admin Device Realtime Contract Compatibility
|
||||
|
||||
The admin asset information integration SHALL preserve additive signal summary fields in device realtime responses without changing non-signal realtime field behavior.
|
||||
|
||||
#### Scenario: Accept additive signal summary fields from realtime API
|
||||
|
||||
- **GIVEN** `GET /api/admin/assets/:identifier/realtime-status` 或 `POST /api/admin/assets/:identifier/refresh` 返回设备资产实时数据
|
||||
- **WHEN** 前端解析 `data.device_realtime`
|
||||
- **THEN** 前端类型契约 MUST 支持 `signal_quality`
|
||||
- **AND** 前端类型契约 MUST 支持 `signal_bad_reason`
|
||||
- **AND** 其他非信号实时字段 MUST 保持原有展示行为
|
||||
@@ -0,0 +1,42 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: Admin Operation Logs Prefer Readable Business Fields
|
||||
|
||||
The admin asset operation log view SHALL prefer readable business fields from operation log content over internal identifiers when rendering change content.
|
||||
|
||||
#### Scenario: Show readable fields for card allocation and recall logs
|
||||
|
||||
- **GIVEN** 一条 `card_allocate` 或 `card_recall` 日志包含 `iccid`、`iccids`、`shop_name`、`to_shop_name` 或 `target_shop_name`
|
||||
- **WHEN** 日志列表渲染该条记录
|
||||
- **THEN** 页面 MUST 优先展示这些可读业务字段
|
||||
- **AND** 用户 MUST NOT 依赖内部店铺 ID 或其他内部标识来理解日志含义
|
||||
|
||||
#### Scenario: Show readable fields for device allocation and recall logs
|
||||
|
||||
- **GIVEN** 一条 `device_allocate` 或 `device_recall` 日志包含 `device_virtual_no`、`device_virtual_nos`、`device_imei`、`shop_name`、`target_shop_name`
|
||||
- **WHEN** 日志列表渲染该条记录
|
||||
- **THEN** 页面 MUST 优先展示这些设备和店铺的可读字段
|
||||
|
||||
#### Scenario: Show readable fields for device bind and unbind logs
|
||||
|
||||
- **GIVEN** 一条 `device_bind_card` 或 `device_unbind_card` 日志包含 `device_virtual_no`、`device_imei`、`device_sn`、`iccid`
|
||||
- **WHEN** 日志列表渲染该条记录
|
||||
- **THEN** 页面 MUST 直接展示这些可读业务字段
|
||||
|
||||
### Requirement: Admin Operation Logs Hide Internal ID Fields
|
||||
|
||||
The admin asset operation log view MUST suppress internal ID-like fields from rendered change content.
|
||||
|
||||
#### Scenario: Hide internal id fields in change content
|
||||
|
||||
- **GIVEN** 某条日志的 `operation_content_before`、`operation_content_after` 或相关字段说明中包含 `id`、`*_id`、`*Id` 或 `*ID`
|
||||
- **WHEN** 日志变更内容被渲染
|
||||
- **THEN** 这些内部 ID 字段 MUST NOT 出现在界面上
|
||||
- **AND** `ICCID`、`IMEI`、`SN`、设备虚拟号、店铺名称等业务可读标识 MUST 仍然允许显示
|
||||
|
||||
#### Scenario: Shared log dialog follows the same hidden-id rule
|
||||
|
||||
- **GIVEN** 用户从资产详情页、设备列表页或卡列表页打开后台操作审计日志
|
||||
- **WHEN** 同一条日志在不同入口被渲染
|
||||
- **THEN** 各入口 MUST 使用一致的字段过滤规则
|
||||
- **AND** 各入口 MUST 一致隐藏内部 `xxxid/xxxID` 字段
|
||||
Reference in New Issue
Block a user