fix:进度条
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 4m44s

This commit is contained in:
sexygoat
2026-04-30 17:01:00 +08:00
parent 78a41513bd
commit 81155fd8e4
12 changed files with 457 additions and 178 deletions

View File

@@ -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 保持原有展示行为

View File

@@ -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` 字段