From 9b4467d4f71e6d1e57cd01502b0dff0764efa69f Mon Sep 17 00:00:00 2001 From: eric Date: Tue, 10 Mar 2026 08:39:35 -0500 Subject: [PATCH] 's' --- app/page.tsx | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/app/page.tsx b/app/page.tsx index cb30758..8aeb58b 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -270,6 +270,30 @@ export default function Home() { init(); }, [clearAllStorage, getOrCreateUserId, checkPaymentFromPB, savePaidType, saveUserName]); + // 页面重新可见或从 bfcache 恢复时检查支付状态(从 /paid 返回、切换标签页、后退等) + useEffect(() => { + const syncFromStorage = () => { + const localType = getStorage("paidType"); + const localUserName = getStorage("userName"); + if (localType && localUserName && !paidType) { + setPaidType(localType); + setUserName(localUserName); + } + }; + const onVisible = () => syncFromStorage(); + const onPageShow = (e: PageTransitionEvent) => { + if (e.persisted) syncFromStorage(); // 从 bfcache 恢复 + }; + if (typeof document !== "undefined" && document.addEventListener) { + document.addEventListener("visibilitychange", onVisible); + window.addEventListener("pageshow", onPageShow); + return () => { + document.removeEventListener("visibilitychange", onVisible); + window.removeEventListener("pageshow", onPageShow); + }; + } + }, [paidType]); + marked.setOptions({ breaks: true, gfm: true }); return (