From 3a998e15bba772c22512f8c5ff43c4ae9abf949d 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 14:58:30 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E4=BC=9A=E5=91=98=E6=8A=A5=E4=BB=B7):=20?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0=E8=B5=84=E6=96=99=E9=9D=A2=E6=9D=BF=E6=8A=A5?= =?UTF-8?q?=E4=BB=B7=E8=AF=B7=E6=B1=82=E5=A2=9E=E5=8A=A0=E5=BA=8F=E5=8F=B7?= =?UTF-8?q?=E5=AE=88=E5=8D=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - usePlatformProfileCenterController.ts:requestMembershipQuote 增加 membershipQuoteRequestRef 令牌,过期响应不再覆盖新报价或提前结束 loading Co-authored-by: Junie --- .../usePlatformProfileCenterController.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/components/platform-entry/usePlatformProfileCenterController.ts b/src/components/platform-entry/usePlatformProfileCenterController.ts index 5ae54d6f8..a5a7bfba5 100644 --- a/src/components/platform-entry/usePlatformProfileCenterController.ts +++ b/src/components/platform-entry/usePlatformProfileCenterController.ts @@ -443,6 +443,7 @@ export function usePlatformProfileCenterController({ const confirmingWechatRechargeOrderRef = useRef(null); const rechargeSubmissionRef = useRef(null); + const membershipQuoteRequestRef = useRef(null); const accountWriteAbortControllerRef = useRef(new AbortController()); const rechargeCenterReadRevisionRef = useRef(0); const accountLifecycleRevisionRef = useRef(0); @@ -1356,6 +1357,11 @@ export function usePlatformProfileCenterController({ ) { return; } + const requestToken = Symbol('profile-membership-quote'); + membershipQuoteRequestRef.current = requestToken; + const isLatestQuoteRequest = () => + isAccountLifecycleCurrent(account) && + membershipQuoteRequestRef.current === requestToken; setMembershipQuote(null); setMembershipQuoteError(null); setIsLoadingMembershipQuote(true); @@ -1363,13 +1369,13 @@ export function usePlatformProfileCenterController({ signal: requestSignal, }) .then((quote) => { - if (!isAccountLifecycleCurrent(account)) { + if (!isLatestQuoteRequest()) { return; } setMembershipQuote(quote); }) .catch((error: unknown) => { - if (!isAccountLifecycleCurrent(account)) { + if (!isLatestQuoteRequest()) { return; } setMembershipQuoteError( @@ -1377,7 +1383,7 @@ export function usePlatformProfileCenterController({ ); }) .finally(() => { - if (isAccountLifecycleCurrent(account)) { + if (isLatestQuoteRequest()) { setIsLoadingMembershipQuote(false); } });