diff --git a/apps/admin-web/src/pages/AdminMembershipPlanPage.tsx b/apps/admin-web/src/pages/AdminMembershipPlanPage.tsx index 66885754d..f3692160b 100644 --- a/apps/admin-web/src/pages/AdminMembershipPlanPage.tsx +++ b/apps/admin-web/src/pages/AdminMembershipPlanPage.tsx @@ -35,13 +35,18 @@ interface AdminMembershipPlanPageProps { onResultChange: (result: ProfileMembershipPlanAdminResponse) => void; } +/** 模型权限的唯一文案表:表单选项与列表摘要共用,避免两处手工映射漂移。 */ +const modelAccessLabels: Record = { + basic: '仅基础模型', + full: '基础及高性能模型', +}; + const modelAccessOptions: Array<{ value: ProfileMembershipModelAccess; label: string; -}> = [ - { value: 'basic', label: '仅基础模型' }, - { value: 'full', label: '基础及高性能模型' }, -]; +}> = (Object.keys(modelAccessLabels) as ProfileMembershipModelAccess[]).map( + (value) => ({ value, label: modelAccessLabels[value] }), +); /** * 会员档位目录。 @@ -448,7 +453,7 @@ function sortPlanEntries(entries: ProfileMembershipPlanAdminResponse[]) { } function formatPlanLimits(entry: ProfileMembershipPlanAdminResponse) { - const modelLabel = entry.modelAccess === 'full' ? '基础+高性能' : '仅基础'; + const modelLabel = modelAccessLabels[entry.modelAccess]; const concurrency = entry.unlimitedConcurrency ? '不设上限' : `${entry.concurrentJobLimit} 个`;