From ff2bd5b57a79196ad1799a822c5e95812bb6211d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Mon, 5 Oct 2026 11:58:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D(=E7=94=A8=E6=88=B7=E8=AF=A6?= =?UTF-8?q?=E6=83=85):=20=E4=BC=9A=E5=91=98=E7=8A=B6=E6=80=81=E6=8C=89?= =?UTF-8?q?=E4=B8=AD=E6=96=87=E5=B1=95=E7=A4=BA=E5=90=8D=E6=B8=B2=E6=9F=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - membershipDisplay 新增 formatMembershipStatus(normal→非会员、active→生效中,未知值原样返回) - AdminUserDetailDialog 不再直接渲染后端 status token --- .../src/components/AdminUserDetailDialog.tsx | 3 ++- apps/admin-web/src/config/membershipDisplay.ts | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/apps/admin-web/src/components/AdminUserDetailDialog.tsx b/apps/admin-web/src/components/AdminUserDetailDialog.tsx index 2da40b420..c1822b965 100644 --- a/apps/admin-web/src/components/AdminUserDetailDialog.tsx +++ b/apps/admin-web/src/components/AdminUserDetailDialog.tsx @@ -29,6 +29,7 @@ import type { import { formatMembershipCycleKind, formatMembershipPlan, + formatMembershipStatus, } from '../config/membershipDisplay'; import { useAdminWriteConfirm } from './useAdminWriteConfirm'; @@ -541,7 +542,7 @@ function MembershipSection({ }) { const metrics: Array<[string, string]> = [ ['档位', `${formatMembershipPlan(membership.plan)}(${membership.plan})`], - ['状态', membership.status || '-'], + ['状态', formatMembershipStatus(membership.status) || '-'], [ '账期', `${formatMembershipCycleKind(membership.cycleKind)} 第 ${membership.cycleIndex}/${membership.cycleCount} 期`, diff --git a/apps/admin-web/src/config/membershipDisplay.ts b/apps/admin-web/src/config/membershipDisplay.ts index 7bf7b09e6..411f76dca 100644 --- a/apps/admin-web/src/config/membershipDisplay.ts +++ b/apps/admin-web/src/config/membershipDisplay.ts @@ -21,6 +21,12 @@ export const membershipCycleKindLabels: Record< yearly: '年付', }; +/** 会员状态展示名;与后端 `RuntimeProfileMembershipStatus` 的 `normal` / `active` 对齐。 */ +export const membershipStatusLabels: Record = { + normal: '非会员', + active: '生效中', +}; + /** 把后端的档位 code 映射成展示名,未知值原样返回。 */ export function formatMembershipPlan(plan: string): string { return membershipPlanLabels[plan as ProfileMembershipPlan] ?? plan; @@ -30,3 +36,8 @@ export function formatMembershipPlan(plan: string): string { export function formatMembershipCycleKind(kind: string): string { return membershipCycleKindLabels[kind as ProfileMembershipCycleKind] ?? kind; } + +/** 把后端的会员状态 code 映射成展示名,未知值原样返回。 */ +export function formatMembershipStatus(status: string): string { + return membershipStatusLabels[status] ?? status; +}