From 803d5ccb0a57e332480acd897f677ee48554df11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Sat, 3 Oct 2026 17:28:55 +0800 Subject: [PATCH] =?UTF-8?q?refactor(=E5=85=85=E7=82=B9=E5=BC=B9=E7=AA=97):?= =?UTF-8?q?=20=E5=8D=87=E7=BA=A7=E6=8A=A5=E4=BB=B7=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E6=94=B9=E7=94=B1=E5=85=B7=E5=90=8D=E5=87=BD=E6=95=B0=E8=BF=94?= =?UTF-8?q?=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 抽出 resolveMembershipQuoteErrorState,用提前返回替代嵌套三元,消除升级报价错误 / 加载 / 空三态的深层条件表达式。 --- .../PlatformProfileRechargeModal/index.tsx | 58 +++++++++++++------ 1 file changed, 41 insertions(+), 17 deletions(-) diff --git a/packages/shared/src/components/PlatformProfileRechargeModal/index.tsx b/packages/shared/src/components/PlatformProfileRechargeModal/index.tsx index 8443044e1..31273ef13 100644 --- a/packages/shared/src/components/PlatformProfileRechargeModal/index.tsx +++ b/packages/shared/src/components/PlatformProfileRechargeModal/index.tsx @@ -371,6 +371,41 @@ function resolveMembershipPlanAction( return { disabled: false, label: '补差升级', mode: 'upgrade' }; } +/** 升级报价的加载 / 失败态;非升级流程不展示报价状态。 */ +function resolveMembershipQuoteErrorState({ + isUpgrade, + error, + isLoading, + onRetry, +}: { + isUpgrade: boolean; + error: string | null; + isLoading: boolean; + onRetry: () => void; +}): ReactNode { + if (!isUpgrade) { + return null; + } + if (error) { + return ( + +
{error}
+ + 重新获取报价 + +
+ ); + } + if (isLoading) { + return ( +
+ 正在获取升级报价… +
+ ); + } + return null; +} + function PlatformMudPointPoolOverview({ center, }: { @@ -1011,23 +1046,12 @@ function PlatformRechargeCheckoutDialog({ ? '按剩余比例补差,保留现有余额,已用点不返还;升级后原刷新日与到期日不变。' : `月度泥点按开通日自然月计期,当期未用完部分到期清零,不结转。当前选择 ${cycleLabel}。` } - errorState={ - isUpgrade && membershipQuoteError ? ( - -
{membershipQuoteError}
- onRequestMembershipQuote(target.plan)} - > - 重新获取报价 - -
- ) : isUpgrade && isLoadingMembershipQuote ? ( -
- 正在获取升级报价… -
- ) : null - } + errorState={resolveMembershipQuoteErrorState({ + isUpgrade, + error: membershipQuoteError, + isLoading: isLoadingMembershipQuote, + onRetry: () => onRequestMembershipQuote(target.plan), + })} /> ); }