refactor(会员): 会员档位目录移除无用的 sort_order,统一按 rank 排序

- module-runtime catalog.rs:RuntimeProfileMembershipPlanRecord 与种子目录去掉 sort_order,目录单测改为按 rank 断言
- module-runtime domain.rs/commands.rs:后台改价入参与构建函数去掉 sort_order
- spacetime-module profile.rs:profile_membership_plan 表结构去掉排序列,membership_plan_records 改按 rank 升序读取
- shared-contracts runtime.rs:ProfileMembershipPlanResponse 与 AdminUpsertProfileMembershipPlanRequest 移除 sortOrder
- spacetime-client:客户端签名、mapper 与 module_bindings 同步移除 sortOrder
- api-server runtime_profile.rs:响应构建与测试夹具去掉 sortOrder
- admin-web:AdminMembershipPlanPage 移除「排序」输入,档位列表改为按 rank 排序,契约类型同步
- packages/shared:ProfileMembershipPlanRecord 去掉 sortOrder,充值弹层改为直接沿用后端的 rank 顺序
- docs:泥点三池与会员计费后端设计同步目录字段与后台能力说明

Co-authored-by: Junie <junie@jetbrains.com>
This commit is contained in:
2026-10-03 13:14:04 +08:00
parent e5de57f7f8
commit 16f92f2110
17 changed files with 19 additions and 76 deletions
@@ -96,7 +96,6 @@ const STARTER_PLAN = {
periodPoints: 400,
modelAccess: 'basic' as const,
concurrentJobLimit: 1,
sortOrder: 10,
enabled: true,
};
@@ -110,7 +109,6 @@ const PLUS_PLAN = {
periodPoints: 1_150,
modelAccess: 'full' as const,
concurrentJobLimit: 3,
sortOrder: 20,
};
const MAX_PLAN = {
@@ -123,7 +121,6 @@ const MAX_PLAN = {
periodPoints: 8_650,
modelAccess: 'full' as const,
concurrentJobLimit: 128,
sortOrder: 40,
};
vi.mock('qrcode', () => ({
@@ -1216,12 +1216,12 @@ export function PlatformProfileRechargeModal({
const currentBalance = resolveProfileMudPointDisplayTotal(
center?.mudPointBalance,
);
// 后端目录已按 rank 升序返回,这里只过滤不可购买与占位档。
const membershipPlans = useMemo(
() =>
(center?.membershipPlans ?? [])
.filter((plan) => plan.enabled && plan.plan !== 'normal')
.slice()
.sort((left, right) => left.sortOrder - right.sortOrder),
(center?.membershipPlans ?? []).filter(
(plan) => plan.enabled && plan.plan !== 'normal',
),
[center?.membershipPlans],
);
const pointProducts = useMemo(
-1
View File
@@ -163,7 +163,6 @@ export type ProfileMembershipPlanRecord = {
modelAccess: ProfileMembershipModelAccess;
/** 并发上限;`128` 表示不设上限。 */
concurrentJobLimit: number;
sortOrder: number;
enabled: boolean;
};