Files
sexygoat 38cf7d12e9
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 4m42s
fix: 真流量虚流量权限
2026-05-14 10:52:11 +08:00

2.6 KiB

ADDED Requirements

Requirement: Admin Current Package Expiry Base Contract

The admin asset information integration SHALL accept and preserve expiry_base from GET /api/admin/assets/:identifier/current-package.

Scenario: Accept additive expiry_base from current-package API

  • GIVEN 用户正在查看后台“资产信息”中的“当前生效套餐”
  • AND GET /api/admin/assets/:identifier/current-package 返回当前套餐数据
  • WHEN 响应中包含 expiry_base
  • THEN 前端类型契约 MUST 支持 expiry_base
  • AND 页面状态 MUST 保留该字段原始值
  • AND 支持的取值 MUST 包含 from_activationfrom_purchase

Scenario: Missing expiry_base does not break current package parsing

  • GIVEN GET /api/admin/assets/:identifier/current-package 返回当前套餐数据
  • AND 响应中未返回 expiry_base 或该字段为空
  • WHEN 前端解析当前套餐响应
  • THEN 页面 MUST 继续保留现有套餐字段的解析行为
  • AND MUST NOT 因缺少 expiry_base 导致“当前生效套餐”整体渲染失败

Requirement: Admin Current Package Expiry Base Display

The admin asset information view SHALL display expiry_base as the expiry countdown base in the 当前生效套餐 card and MUST use the backend-provided value instead of inferring from time fields.

Scenario: Show activation-based expiry text on current package card

  • GIVEN 用户正在查看后台“资产信息”中的“当前生效套餐”
  • AND 当前套餐返回 expiry_basefrom_activation
  • WHEN 页面渲染套餐详情表格
  • THEN 页面 MUST 显示“到期计时基准”
  • AND 该字段的展示文案 MUST 为“实名激活时起算”

Scenario: Show purchase-based expiry text on current package card

  • GIVEN 用户正在查看后台“资产信息”中的“当前生效套餐”
  • AND 当前套餐返回 expiry_basefrom_purchase
  • WHEN 页面渲染套餐详情表格
  • THEN 页面 MUST 显示“到期计时基准”
  • AND 该字段的展示文案 MUST 为“购买时起算”

Scenario: Show placeholder when expiry_base is empty or unknown

  • GIVEN 用户正在查看后台“资产信息”中的“当前生效套餐”
  • AND 当前套餐的 expiry_base 为空、缺失或不是已知取值
  • WHEN 页面渲染套餐详情表格
  • THEN 页面 MUST 在“到期计时基准”位置显示稳定占位内容
  • AND 页面 MUST NOT 根据 start_timeexpire_time 或其他时间字段自行推断展示文案