fix: 代理系列授权店铺
Some checks failed
构建并部署前端到测试环境 / build-and-deploy (push) Failing after 2m0s

This commit is contained in:
sexygoat
2026-05-09 16:13:11 +08:00
parent 3c71ae0004
commit 73ce9af11a
26 changed files with 833 additions and 807 deletions

View File

@@ -0,0 +1,36 @@
# Change: 更新资产详情套餐流量展示口径
## Why
当前资产详情页中的“当前生效套餐”和“套餐列表”已经接入 `real_total_mb``real_used_mb``virtual_used_mb``enable_virtual_data`,但非平台账号的展示口径与最新业务说明不一致:
- 总量应始终使用 `real_total_mb`
- 已使用应按 `enable_virtual_data``virtual_used_mb``real_used_mb` 之间切换
- 剩余与进度条应基于同一套已使用值重新计算
如果不统一这套规则,代理账号和企业账号会在同一资产详情页内看到错误的剩余流量和进度占比,影响运营判断。
## What Changes
- 新增资产详情套餐流量展示规范,覆盖:
- “当前生效套餐”卡片
- “套餐列表”中的流量列
- 明确非平台/非超级管理员账号(`user_type` 不为 `1`/`2`)的展示规则:
- 总量使用 `real_total_mb`
- 已使用在 `enable_virtual_data=true` 时使用 `virtual_used_mb`,否则使用 `real_used_mb`
- 剩余 = 总量 - 已使用
- 进度条 = 已使用 / 总量
- 明确超级管理员和平台用户(`user_type``1`/`2`)继续保留当前的真流量/虚流量双口径展示
- 不修改后端接口路径、响应字段或权限模型
## Impact
- Affected specs:
- `asset-package-traffic-display`
- Affected code:
- `src/views/asset-management/asset-information/components/CurrentPackageCard.vue`
- `src/views/asset-management/asset-information/components/PackageListCard.vue`
- `src/views/asset-management/asset-information/composables/useAssetInfo.ts`
- Dependencies:
- `GET /api/admin/assets/:identifier/current-package`
- 资产详情页套餐列表接口继续返回 `real_total_mb``real_used_mb``virtual_used_mb``enable_virtual_data`

View File

@@ -0,0 +1,57 @@
## ADDED Requirements
### Requirement: Non-Platform Asset Package Traffic Display
The asset information page SHALL use a unified traffic display formula for non-platform users in both the current package card and the package list.
#### Scenario: Current package uses virtual usage when virtual data is enabled
- **GIVEN** 当前登录账号的 `user_type` 不是 `1``2`
- **AND** “当前生效套餐”返回的 `enable_virtual_data``true`
- **WHEN** 页面渲染“当前生效套餐”的流量信息
- **THEN** 系统 MUST 使用 `real_total_mb` 作为总量
- **AND** 系统 MUST 使用 `virtual_used_mb` 作为已使用
- **AND** 系统 MUST 按 `real_total_mb - virtual_used_mb` 计算剩余
- **AND** 系统 MUST 按 `virtual_used_mb / real_total_mb` 计算进度条百分比
#### Scenario: Current package uses real usage when virtual data is disabled
- **GIVEN** 当前登录账号的 `user_type` 不是 `1``2`
- **AND** “当前生效套餐”返回的 `enable_virtual_data``false`
- **WHEN** 页面渲染“当前生效套餐”的流量信息
- **THEN** 系统 MUST 使用 `real_total_mb` 作为总量
- **AND** 系统 MUST 使用 `real_used_mb` 作为已使用
- **AND** 系统 MUST 按 `real_total_mb - real_used_mb` 计算剩余
- **AND** 系统 MUST 按 `real_used_mb / real_total_mb` 计算进度条百分比
#### Scenario: Package list uses virtual usage when virtual data is enabled
- **GIVEN** 当前登录账号的 `user_type` 不是 `1``2`
- **AND** 套餐列表中的某条记录 `enable_virtual_data``true`
- **WHEN** 页面渲染该条记录的流量信息
- **THEN** 系统 MUST 使用 `real_total_mb` 作为总量
- **AND** 系统 MUST 使用 `virtual_used_mb` 作为已使用
- **AND** 系统 MUST 按 `real_total_mb - virtual_used_mb` 计算剩余
- **AND** 系统 MUST 按 `virtual_used_mb / real_total_mb` 计算进度条百分比
#### Scenario: Package list uses real usage when virtual data is disabled
- **GIVEN** 当前登录账号的 `user_type` 不是 `1``2`
- **AND** 套餐列表中的某条记录 `enable_virtual_data``false`
- **WHEN** 页面渲染该条记录的流量信息
- **THEN** 系统 MUST 使用 `real_total_mb` 作为总量
- **AND** 系统 MUST 使用 `real_used_mb` 作为已使用
- **AND** 系统 MUST 按 `real_total_mb - real_used_mb` 计算剩余
- **AND** 系统 MUST 按 `real_used_mb / real_total_mb` 计算进度条百分比
### Requirement: Platform And Super Admin Package Traffic Detail
The asset information page SHALL preserve the existing dual-track traffic display for super admins and platform users.
#### Scenario: Platform-side users keep real and virtual traffic breakdown
- **GIVEN** 当前登录账号的 `user_type``1``2`
- **WHEN** 页面渲染“当前生效套餐”或“套餐列表”的流量信息
- **THEN** 系统 MUST 继续展示真流量统计
- **AND** 系统 MUST 继续展示虚流量统计
- **AND** 系统 MUST NOT 将该类账号改为单一的“总量 / 已使用 / 剩余”展示口径

View File

@@ -0,0 +1,8 @@
## 1. Implementation
- [x] 1.1 调整 `CurrentPackageCard.vue` 中非平台/非超级管理员视角的流量展示与进度计算。
- [x] 1.2 调整 `PackageListCard.vue` 中非平台/非超级管理员视角的流量展示与进度计算。
- [x] 1.3 对齐 `useAssetInfo.ts` 中由当前生效套餐推导出的流量统计,避免同页展示口径不一致。
- [x] 1.4 验证 `enable_virtual_data=true` 时,代理账号和企业账号的总量、已使用、剩余、进度条均符合文档。
- [x] 1.5 验证 `enable_virtual_data=false` 时,代理账号和企业账号的总量、已使用、剩余、进度条均符合文档。
- [x] 1.6 验证超级管理员与平台用户继续保留真流量/虚流量双口径展示。