feat(后台): 新增会员档位页并收敛充值商品页

- 充值商品页改为纯泥点商品:去掉会员档位与 membership_* 字段,固定 kind=points,首充赠送默认 0
- 新增会员档位页:按档位枚举改月价 / 年价 / 每期泥点 / 模型权限 / 并发上限 / 可购买 / 排序,rank 只读
- adminApiTypes 用档位枚举替换旧 tier 类型并补会员档位请求响应类型,客户端补 listProfileMembershipPlans / upsertProfileMembershipPlan
- 注册 #membership-plans 路由与侧边栏图标

Co-authored-by: Junie <junie@jetbrains.com>
This commit is contained in:
2026-10-02 19:03:40 +08:00
parent 144068187c
commit de082ad81a
7 changed files with 579 additions and 252 deletions
+24
View File
@@ -70,6 +70,7 @@ import type {
AdminUpsertEditorShowcaseCampaignRequest,
AdminUpsertFeatureGateConfigRequest,
AdminUpsertProfileInviteCodeRequest,
AdminUpsertProfileMembershipPlanRequest,
AdminUpsertProfileRechargeProductRequest,
AdminUpsertProfileRedeemCodeRequest,
AdminUpsertProfileTaskConfigRequest,
@@ -86,6 +87,8 @@ import type {
EditorGenerationPricingConfigPayload,
ProfileInviteCodeAdminListResponse,
ProfileInviteCodeAdminResponse,
ProfileMembershipPlanAdminListResponse,
ProfileMembershipPlanAdminResponse,
ProfileRechargeProductConfigAdminListResponse,
ProfileRechargeProductConfigAdminResponse,
ProfileRedeemCodeAdminListResponse,
@@ -791,6 +794,27 @@ export function upsertProfileRechargeProduct(
);
}
export function listProfileMembershipPlans(token: string) {
return request<ProfileMembershipPlanAdminListResponse>(
'/admin/api/profile/membership-plans',
{ token },
);
}
export function upsertProfileMembershipPlan(
token: string,
payload: AdminUpsertProfileMembershipPlanRequest,
) {
return request<ProfileMembershipPlanAdminResponse>(
'/admin/api/profile/membership-plans',
{
method: 'POST',
token,
body: payload,
},
);
}
export function listAdminRechargeOrders(
token: string,
query: AdminRechargeOrderListQuery = {},