65 lines
4.1 KiB
Markdown
65 lines
4.1 KiB
Markdown
## ADDED Requirements
|
|
|
|
### Requirement: Admin Asset Card Sync Timestamp Display
|
|
|
|
The admin asset information view SHALL display realtime sync timestamps for card assets within the card information section.
|
|
|
|
#### Scenario: Show card sync timestamps on card asset page
|
|
|
|
- **GIVEN** 用户正在查看后台“资产信息”中的卡资产详情
|
|
- **AND** `GET /api/admin/assets/:identifier/realtime-status` 或 `POST /api/admin/assets/:identifier/refresh` 返回了卡资产实时数据
|
|
- **WHEN** 页面渲染“卡信息”区域或完成实时刷新后的状态更新
|
|
- **THEN** 页面 MUST 显示 `实名同步时间`,并映射 `last_real_name_check_at`
|
|
- **AND** 页面 MUST 显示 `卡状态同步时间`,并映射 `last_card_status_check_at`
|
|
- **AND** 页面 MUST 显示 `流量同步时间`,并映射 `last_data_check_at`
|
|
- **AND** 这三个字段的时间格式 MUST 与页面其他时间字段保持一致
|
|
|
|
#### Scenario: Card sync timestamps show placeholders when unavailable
|
|
|
|
- **GIVEN** 用户正在查看后台“资产信息”中的卡资产详情
|
|
- **WHEN** 任一同步时间字段为 `null`、空字符串或接口未返回对应值
|
|
- **THEN** 页面 MUST 保留对应字段标签
|
|
- **AND** 页面 MUST 为该字段显示稳定的占位内容
|
|
|
|
### Requirement: Admin Device Realtime Sync Timestamp Display
|
|
|
|
The admin asset information view SHALL display device realtime sync timestamps from top-level realtime response fields within the device realtime information section for device assets.
|
|
|
|
#### Scenario: Show device realtime sync timestamps in device realtime information
|
|
|
|
- **GIVEN** 用户正在查看后台“资产信息”中的设备资产详情
|
|
- **AND** `GET /api/admin/assets/:identifier/realtime-status` 或 `POST /api/admin/assets/:identifier/refresh` 返回了设备资产实时数据
|
|
- **WHEN** 页面渲染“设备实时信息”区域或完成实时刷新后的状态更新
|
|
- **THEN** 页面 MUST 显示 `实名同步时间`,并映射顶层 `last_real_name_check_at`
|
|
- **AND** 页面 MUST 显示 `卡状态同步时间`,并映射顶层 `last_card_status_check_at`
|
|
- **AND** 页面 MUST 显示 `流量同步时间`,并映射顶层 `last_data_check_at`
|
|
- **AND** 页面 MUST NOT 要求这三个字段必须存在于 `device_realtime` 中才可展示
|
|
|
|
#### Scenario: Device realtime section keeps stable placeholders when top-level timestamps are empty
|
|
|
|
- **GIVEN** 用户正在查看后台“资产信息”中的设备资产详情
|
|
- **WHEN** 顶层 `last_real_name_check_at`、`last_card_status_check_at`、`last_data_check_at` 中任一字段为空
|
|
- **THEN** 页面 MUST 保留 `实名同步时间`、`卡状态同步时间`、`流量同步时间` 这三个字段标签
|
|
- **AND** 页面 MUST 为缺失值显示稳定的占位内容
|
|
|
|
### Requirement: Admin Asset Realtime Sync Timestamp Contract Compatibility
|
|
|
|
The admin asset information integration SHALL accept and preserve additive sync timestamp fields from realtime responses for card assets and device bound cards.
|
|
|
|
#### Scenario: Card realtime contract accepts additive sync timestamp fields
|
|
|
|
- **GIVEN** `GET /api/admin/assets/:identifier/realtime-status` 或 `POST /api/admin/assets/:identifier/refresh` 返回卡资产实时数据
|
|
- **WHEN** 前端解析实时状态响应
|
|
- **THEN** 前端类型契约 MUST 支持顶层 `last_data_check_at`
|
|
- **AND** 前端类型契约 MUST 支持顶层 `last_real_name_check_at`
|
|
- **AND** 前端类型契约 MUST 支持顶层 `last_card_status_check_at`
|
|
|
|
#### Scenario: Device bound-card merge preserves sync timestamp fields
|
|
|
|
- **GIVEN** `GET /api/admin/assets/:identifier/realtime-status` 或 `POST /api/admin/assets/:identifier/refresh` 返回设备资产实时数据
|
|
- **AND** `cards` 列表中的绑定卡记录包含 `last_data_check_at`、`last_real_name_check_at`、`last_card_status_check_at`
|
|
- **WHEN** 前端将实时绑定卡数据与已有设备绑定卡状态合并
|
|
- **THEN** 每条绑定卡记录 MUST 保留各自的三个同步时间字段
|
|
- **AND** 绑定卡同步时间字段 MAY 被其他设备卡展示或后续状态使用
|
|
- **AND** 合并过程 MUST NOT 因刷新而无故丢失已返回的同步时间值
|