From 25bca13c312f8d6761c3f385a9353fcd9fd1ddd7 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 13:59:14 +0800 Subject: [PATCH] =?UTF-8?q?=E7=B1=BB=E5=9E=8B(=E5=90=8E=E5=8F=B0=E4=BC=9A?= =?UTF-8?q?=E5=91=98):=20=E4=BC=9A=E5=91=98=E7=8A=B6=E6=80=81=E6=96=87?= =?UTF-8?q?=E6=A1=88=E8=A1=A8=E6=94=B9=E7=94=A8=E5=91=BD=E5=90=8D=E8=81=94?= =?UTF-8?q?=E5=90=88=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - membershipStatusLabels 原为 Record,新增/改名状态时编译期无法发现漏配 - 改用 @genarrative/shared 的 ProfileMembershipStatus(normal/active),并把 AdminProfileMembershipPayload.status 的内联字面量一并替换 --- apps/admin-web/src/api/adminApiTypes.ts | 4 +++- apps/admin-web/src/config/membershipDisplay.ts | 5 +++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/apps/admin-web/src/api/adminApiTypes.ts b/apps/admin-web/src/api/adminApiTypes.ts index dacf69cf6..f888d5913 100644 --- a/apps/admin-web/src/api/adminApiTypes.ts +++ b/apps/admin-web/src/api/adminApiTypes.ts @@ -2,6 +2,7 @@ import type { ProfileMembershipCycleKind, ProfileMembershipModelAccess, ProfileMembershipPlan, + ProfileMembershipStatus, } from '@genarrative/shared'; export interface ApiMeta { @@ -392,6 +393,7 @@ export type { ProfileMembershipCycleKind, ProfileMembershipModelAccess, ProfileMembershipPlan, + ProfileMembershipStatus, }; export interface AdminTrackingEventListQuery { eventKey?: string; @@ -1057,7 +1059,7 @@ export interface AdminUserDetailResponse { export interface AdminProfileMembershipPayload { plan: ProfileMembershipPlan; /** 与后端 `RuntimeProfileMembershipStatus` 对齐:`normal` / `active`。 */ - status: 'normal' | 'active'; + status: ProfileMembershipStatus; cycleKind: ProfileMembershipCycleKind; cycleIndex: number; cycleCount: number; diff --git a/apps/admin-web/src/config/membershipDisplay.ts b/apps/admin-web/src/config/membershipDisplay.ts index 411f76dca..3a903c5fb 100644 --- a/apps/admin-web/src/config/membershipDisplay.ts +++ b/apps/admin-web/src/config/membershipDisplay.ts @@ -1,6 +1,7 @@ import type { ProfileMembershipCycleKind, ProfileMembershipPlan, + ProfileMembershipStatus, } from '../api/adminApiTypes'; /** 会员档位展示名;`normal` 即非会员。 */ @@ -22,7 +23,7 @@ export const membershipCycleKindLabels: Record< }; /** 会员状态展示名;与后端 `RuntimeProfileMembershipStatus` 的 `normal` / `active` 对齐。 */ -export const membershipStatusLabels: Record = { +export const membershipStatusLabels: Record = { normal: '非会员', active: '生效中', }; @@ -39,5 +40,5 @@ export function formatMembershipCycleKind(kind: string): string { /** 把后端的会员状态 code 映射成展示名,未知值原样返回。 */ export function formatMembershipStatus(status: string): string { - return membershipStatusLabels[status] ?? status; + return membershipStatusLabels[status as ProfileMembershipStatus] ?? status; }