feat: 接入新参数:套餐分配生效条件选择,资产详情前代后代换货标识
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 7m0s

This commit is contained in:
luo
2026-07-23 17:06:05 +08:00
parent d7c2c146fe
commit 5e15127a89
16 changed files with 230 additions and 56 deletions

View File

@@ -6,9 +6,10 @@
## What Changes
- 在套餐授权/分配和已分配套餐编辑入口增加“生效条件”单选:跟随套餐默认、购买即生效、实名生效。
- 在套餐授权/分配和已分配套餐编辑入口增加“生效条件”单选:跟随套餐默认、购买即生效、实名激活时生效。
- 新建分配时调用 `POST /api/admin/shop-package-allocations`,明确传递 `expiry_base_override`;选择“跟随套餐默认”时 MUST 显式传递 `null`,不得省略字段。
- 已分配套餐修改生效条件时调用 `PATCH /api/admin/shop-package-allocations/{id}/expiry-base`,请求体为 `expiry_base_override:null|from_purchase|from_realname`
- 系列授权创建、系列授权新增套餐和批量套餐分配时,均 MUST 显式传递 `expiry_base_override`;该配置只作用于本次新建分配
- 已分配套餐修改生效条件时调用 `PATCH /api/admin/shop-package-allocations/{id}/expiry-base`,请求体为 `expiry_base_override:null|from_purchase|from_activation`
- 在分配详情、编辑弹框和代理系列授权套餐列表展示后端返回的默认生效条件、覆盖生效条件和最终生效条件的中文名称。
- 修改弹框提示“仅影响后续新订单,不影响已购买套餐”。
- 前端不根据默认值和覆盖值自行计算最终生效条件,直接使用后端返回的 `effective_expiry_base` 及其名称字段。
@@ -27,6 +28,9 @@
- API contracts:
- `POST /api/admin/shop-package-allocations`
- `PATCH /api/admin/shop-package-allocations/{id}/expiry-base`
- `POST /api/admin/shop-series-grants`
- `PUT /api/admin/shop-series-grants/{id}/packages`
- `POST /api/admin/shop-package-batch-allocations`
- Out of scope:
- 已购买套餐或历史订单的生效条件迁移
- 前端根据分配字段推导或覆盖实际生效条件