This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
# Change: 优化资产信息钱包流水的默认加载与展示稳定性
|
||||
|
||||
## Why
|
||||
|
||||
当前资产信息页的钱包流水区域存在三个连续问题:默认进入资产详情时没有稳定触发钱包流水查询;前端按 `list/page_size` 解析响应,但后端实际返回 `items/size`,导致接口成功返回后表格仍然不显示;当结果为空时,重复查询还会出现“暂无钱包流水数据”先消失再出现的闪烁。
|
||||
|
||||
这些问题叠加后,会让用户误以为钱包流水没有被加载、接口无返回,或页面发生异常刷新。需要将默认加载、数据展示和空态刷新体验统一规范。
|
||||
|
||||
## What Changes
|
||||
|
||||
- 为资产信息页的钱包流水区域新增默认加载规范:
|
||||
- 资产详情加载完成后应自动请求钱包流水
|
||||
- 默认请求参数为 `page=1`、`page_size=20`
|
||||
- 明确钱包流水区域需兼容后端当前返回结构:
|
||||
- 使用 `items` 作为流水列表
|
||||
- 使用 `page`、`size`、`total` 作为分页信息
|
||||
- 明确有数据时必须展示钱包流水表格,不能因为前端字段映射不一致而落入空态
|
||||
- 为空结果场景新增稳定性展示规范:
|
||||
- 当当前已是空态且新结果仍为空时,空态区域应保持连续可见
|
||||
- 加载反馈不应通过“先移除空态再重新渲染”的方式呈现
|
||||
- 覆盖以下触发路径:
|
||||
- 资产信息页首次进入或首次加载当前资产
|
||||
- 资产信息页顶部再次搜索资产
|
||||
- 钱包流水区域内的查询、重置、分页切换、分页尺寸重置等再次拉取
|
||||
|
||||
## Impact
|
||||
|
||||
- Affected specs:
|
||||
- `asset-wallet-transaction-display`
|
||||
- Affected code:
|
||||
- `src/views/asset-management/asset-information/components/WalletTransactionCard.vue`
|
||||
- `src/views/asset-management/asset-information/index.vue`
|
||||
- `src/types/api/asset.ts`
|
||||
- Dependencies:
|
||||
- `GET /api/admin/assets/:asset_type/:id/wallet/transactions`
|
||||
- 钱包流水分页响应以接口返回 `items`、`page`、`size`、`total` 为准
|
||||
@@ -0,0 +1,57 @@
|
||||
## 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 不显示分页控件
|
||||
@@ -0,0 +1,7 @@
|
||||
## 1. Implementation
|
||||
|
||||
- [x] 1.1 调整资产信息页钱包流水卡片的初始化逻辑,确保资产详情首次进入和资产切换后会自动请求钱包流水,默认参数为 `page=1`、`page_size=20`。
|
||||
- [x] 1.2 对齐钱包流水接口的实际响应结构,使用 `items` 渲染表格数据,并使用 `page`、`size`、`total` 同步分页状态。
|
||||
- [x] 1.3 确保钱包流水接口返回非空 `items` 时,页面正确展示流水表格而不是错误落入空态。
|
||||
- [x] 1.4 确保重复搜索同一资产,或在钱包区域内执行查询、重置、分页切换、分页尺寸变化后,如果结果仍为空,空态不会出现“隐藏再显示”的闪烁。
|
||||
- [x] 1.5 验证空结果与非空结果两类场景下的钱包流水表格、空态和分页展示行为都符合规范。
|
||||
Reference in New Issue
Block a user