From e4de308ba47980acead5f840ec6c56b8668835b1 Mon Sep 17 00:00:00 2001 From: wangjia <809946525@qq.com> Date: Mon, 6 Jul 2026 23:40:24 +0800 Subject: [PATCH] =?UTF-8?q?fix(usercenter):=20=E9=A6=96=E5=B1=8F=E7=9B=B4?= =?UTF-8?q?=E6=8E=A5=E6=B8=B2=E6=9F=93=E7=99=BB=E5=BD=95=E9=A1=B5(?= =?UTF-8?q?=E4=BF=AE"=E7=A9=BA=E7=99=BD")+=20html=20suppressHydrationWarni?= =?UTF-8?q?ng?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 静态导出下 !ready 原来渲染空白背景 div,慢网络首屏看着是空的。改为 !ready||!authed 一律渲染 Login(静态无会话默认态),SSG 首屏即登录表单。html 加 suppressHydrationWarning 消除主题 data-theme 的 hydration 警告(#418)。 Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_013nMthbVEmQquxBRKb9Fj8u --- web/usercenter/app/layout.tsx | 2 +- web/usercenter/components/UserCenter.tsx | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/web/usercenter/app/layout.tsx b/web/usercenter/app/layout.tsx index c3d4d2a..2c7d214 100644 --- a/web/usercenter/app/layout.tsx +++ b/web/usercenter/app/layout.tsx @@ -14,7 +14,7 @@ export const viewport: Viewport = { export default function RootLayout({ children }: { children: React.ReactNode }) { return ( - + {/* 设计令牌单一真相源,原样链入(SRI 由构建期注入) */} {/* eslint-disable-next-line @next/next/no-css-tags */} diff --git a/web/usercenter/components/UserCenter.tsx b/web/usercenter/components/UserCenter.tsx index 80c2c9c..5e8df3a 100644 --- a/web/usercenter/components/UserCenter.tsx +++ b/web/usercenter/components/UserCenter.tsx @@ -100,10 +100,9 @@ export default function UserCenter() { setView('overview'); } - if (!ready) { - return
; - } - if (!authed) { + // 静态导出无服务端会话:首屏(!ready)与未登录一律直接渲染登录页,避免出现空白 + // 背景(慢网络下用户会看到"空的")。已登录用户(有 refresh)会话续期完成后再切面板。 + if (!ready || !authed) { return { setAuthed(true); setView('overview'); }} />; }