feat: 套餐分组清理 + 续费延期 + UI统一
- Schema: groupId 改为 nullable,新增迁移 - GET 套餐列表自动检测并清除 Sub2API 中已删除的分组绑定 - PUT 保存时校验分组存在性,已删除则自动解绑并返回 409 - 续费逻辑:同分组有活跃订阅时从到期日计算天数再 createAndRedeem - 提取 PlanInfoDisplay 共享组件,SubscriptionConfirm 复用 - 默认模型统一到 /v1/messages badge 内 - 前端编辑表单适配 nullable groupId,未绑定时禁用保存
This commit is contained in:
@@ -23,6 +23,8 @@ export async function GET(request: NextRequest) {
|
||||
// 并发校验每个套餐对应的 Sub2API 分组是否存在
|
||||
const results = await Promise.all(
|
||||
plans.map(async (plan) => {
|
||||
if (plan.groupId === null) return null;
|
||||
|
||||
let groupActive = false;
|
||||
let group: Awaited<ReturnType<typeof getGroup>> = null;
|
||||
let groupInfo: {
|
||||
|
||||
Reference in New Issue
Block a user