58 lines
3.4 KiB
Markdown
58 lines
3.4 KiB
Markdown
## ADDED Requirements
|
|
|
|
### Requirement: Wallet Transactions Shall Load And Render Automatically
|
|
|
|
The asset information wallet transaction panel SHALL automatically request and render wallet transaction data for the current asset by using the backend response contract returned from the wallet transaction API.
|
|
|
|
#### Scenario: Opening an asset information page triggers the default wallet transaction request
|
|
|
|
- **GIVEN** 用户进入某个资产的信息页,且当前资产支持直接查看钱包流水
|
|
- **WHEN** 资产详情上下文已完成加载并显示钱包流水区域
|
|
- **THEN** 系统 MUST 自动请求当前资产的钱包流水接口
|
|
- **AND** 请求参数 MUST 默认为 `page=1` 且 `page_size=20`
|
|
- **AND** 系统 MUST NOT 要求用户先点击“查询”后才首次拉取钱包流水
|
|
|
|
#### Scenario: Asset search refreshes wallet transactions with default pagination
|
|
|
|
- **GIVEN** 用户已经位于资产信息页
|
|
- **WHEN** 用户通过页面顶部搜索重新加载当前资产或切换到另一个资产
|
|
- **THEN** 系统 MUST 为新解析出的当前资产重新请求钱包流水接口
|
|
- **AND** 首次展示该资产的钱包流水时 MUST 使用 `page=1` 且 `page_size=20`
|
|
|
|
#### Scenario: Successful wallet transaction response with items renders table rows
|
|
|
|
- **GIVEN** 钱包流水接口成功返回 `data.items`,且其中包含一条或多条流水记录
|
|
- **WHEN** 前端接收到该响应
|
|
- **THEN** 系统 MUST 按 `data.items` 渲染钱包流水表格
|
|
- **AND** 系统 MUST 使用 `data.total` 作为总记录数
|
|
- **AND** 系统 MUST 使用 `data.page` 和 `data.size` 同步当前分页状态
|
|
- **AND** 系统 MUST NOT 展示“暂无钱包流水数据”空态
|
|
|
|
### Requirement: Stable Wallet Empty State During Refresh
|
|
|
|
The asset information wallet transaction panel SHALL preserve a stable empty-state presentation when repeated requests continue to return no wallet transaction data.
|
|
|
|
#### Scenario: Re-searching the same asset still returns no wallet transactions
|
|
|
|
- **GIVEN** 用户已经在资产信息页的钱包流水区域看到“暂无钱包流水数据”
|
|
- **AND** 当前钱包流水响应数据为 `items=[]`、`page=1`、`size=20` 且 `total=0`
|
|
- **WHEN** 用户再次触发资产搜索,且新的钱包流水响应仍然为 `items=[]`、`page=1`、`size=20` 且 `total=0`
|
|
- **THEN** 系统 MUST 继续在同一钱包流水区域保持空态展示
|
|
- **AND** 系统 MUST NOT 通过先移除空态内容再重新插入的方式呈现刷新过程
|
|
- **AND** 系统 MUST 将刷新反馈限制在不破坏当前空态布局稳定性的范围内
|
|
|
|
#### Scenario: Wallet filter refresh still returns an empty result
|
|
|
|
- **GIVEN** 用户已经在资产信息页的钱包流水区域看到“暂无钱包流水数据”
|
|
- **WHEN** 用户在钱包流水区域执行查询、重置或其他会重新拉取流水的操作
|
|
- **AND** 新的响应仍然为 `items=[]`、`page=1`、`size=20` 且 `total=0`
|
|
- **THEN** 系统 MUST 保持空态区域连续可见
|
|
- **AND** 系统 MUST NOT 在刷新过程中出现钱包内容区域短暂空白再恢复空态的视觉跳变
|
|
|
|
#### Scenario: First empty response shows the wallet empty state
|
|
|
|
- **GIVEN** 用户首次打开某个资产的信息页或首次加载钱包流水
|
|
- **WHEN** 钱包流水响应为 `items=[]`、`page=1`、`size=20` 且 `total=0`
|
|
- **THEN** 系统 MUST 展示“暂无钱包流水数据”空态
|
|
- **AND** 系统 MUST 不显示分页控件
|