diff --git a/src/routes/homeRoutes.js b/src/routes/homeRoutes.js index 5ad2ed5c..04918aa3 100644 --- a/src/routes/homeRoutes.js +++ b/src/routes/homeRoutes.js @@ -28,7 +28,7 @@ export const homeRoutes = [ // 个人中心 - /home/center { path: 'center', - component: lazyComponents.CenterDashboard, + component: lazyComponents.Center, protection: PROTECTION_MODES.MODAL, meta: { title: '个人中心', diff --git a/src/routes/lazy-components.js b/src/routes/lazy-components.js index b383e89a..664e464b 100644 --- a/src/routes/lazy-components.js +++ b/src/routes/lazy-components.js @@ -11,7 +11,7 @@ export const lazyComponents = { // Home 模块 // ⚡ 直接引用 HomePage,无需中间层(静态页面不需要骨架屏) HomePage: React.lazy(() => import('@views/Home/HomePage')), - CenterDashboard: React.lazy(() => import('@views/Center')), + Center: React.lazy(() => import('@views/Center')), ProfilePage: React.lazy(() => import('@views/Profile/ProfilePage')), // 价值论坛 - 我的积分页面 ForumMyPoints: React.lazy(() => import('@views/Profile')), @@ -56,7 +56,7 @@ export const lazyComponents = { */ export const { HomePage, - CenterDashboard, + Center, ProfilePage, ForumMyPoints, SettingsPage, diff --git a/src/views/Center/index.js b/src/views/Center/index.js deleted file mode 100644 index 37dca6a2..00000000 --- a/src/views/Center/index.js +++ /dev/null @@ -1,4 +0,0 @@ -// src/views/Center/index.js -// 入口文件,导出 Center 组件 - -export { default } from './Center'; diff --git a/src/views/Center/Center.tsx b/src/views/Center/index.tsx similarity index 92% rename from src/views/Center/Center.tsx rename to src/views/Center/index.tsx index 89f390c9..d5809feb 100644 --- a/src/views/Center/Center.tsx +++ b/src/views/Center/index.tsx @@ -13,12 +13,12 @@ import ForumCenter from '@views/Profile/components/ForumCenter'; import { THEME } from '@views/Profile/components/MarketDashboard/constants'; /** - * CenterDashboard 组件 + * Center 组件 * 个人中心仪表板主页面 * * 注意:右侧 WatchSidebar 已移至全局 GlobalSidebar(在 MainLayout 中渲染) */ -const CenterDashboard: React.FC = () => { +const Center: React.FC = () => { return ( @@ -42,4 +42,4 @@ const CenterDashboard: React.FC = () => { ); }; -export default CenterDashboard; +export default Center; diff --git a/src/views/Home/HomePage.tsx b/src/views/Home/HomePage.tsx index 3fb27870..20260d3d 100644 --- a/src/views/Home/HomePage.tsx +++ b/src/views/Home/HomePage.tsx @@ -16,6 +16,7 @@ import { FeaturedFeatureCard } from './components/FeaturedFeatureCard'; import { FeatureCard } from './components/FeatureCard'; import MiniProgramLauncher from '@/components/MiniProgramLauncher'; import { isMobileDevice } from '@/components/MiniProgramLauncher/hooks/useWechatEnvironment'; +import Center from '@views/Center'; import '@/styles/home-animations.css'; /** @@ -23,7 +24,7 @@ import '@/styles/home-animations.css'; * 展示平台核心功能,引导用户探索各个功能模块 */ const HomePage: React.FC = () => { - const { user, isAuthenticated } = useAuth(); + const { user, isAuthenticated, isLoading } = useAuth(); const navigate = useNavigate(); const { track } = usePostHogTrack(); @@ -83,6 +84,17 @@ const HomePage: React.FC = () => { // 移动端判断(用于显示小程序入口) const isMobile = isMobileDevice(); + // 等待认证状态确认(避免闪烁) + if (isLoading) { + return null; + } + + // 已登录直接渲染个人中心 + if (isAuthenticated && user) { + return
; + } + + // 未登录渲染首页内容 return ( {/* Hero Section - 深色科技风格,自适应容器高度 */}