import React, { useEffect } from 'react'; import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom'; import { ConfigProvider, App as AntApp, Spin } from 'antd'; import zhCN from 'antd/locale/zh_CN'; import dayjs from 'dayjs'; import 'dayjs/locale/zh-cn'; dayjs.locale('zh-cn'); import AppLayout from './components/Layout/AppLayout'; import LoginPage from './pages/LoginPage'; import ProjectsPage from './pages/ProjectsPage'; import GeneratePage from './pages/GeneratePage'; import RecordsPage from './pages/RecordsPage'; import CreditsPage from './pages/CreditsPage'; import CreditRecordsPage from './pages/CreditRecordsPage'; import OrderRecordsPage from './pages/OrderRecordsPage'; import MessagesPage from './pages/MessagesPage'; import UserCenterPage from './pages/UserCenterPage'; import GenerateConver from './pages/GenerateConver'; import InitialReplication from './pages/InitialReplication'; import InitialInfo from './pages/InitialInfo'; import RemoveLens from './pages/RemoveLens'; import GeneratedRecord from './pages/GeneratedRecord'; import PreTest from './pages/PreTest'; import AuthorizationPage from './pages/AuthorizationPage'; import AuthAccountPage from './pages/AuthAccountPage'; import MaterialListPage from './pages/MaterialListPage'; import RemoveInfo from './pages/RemoveInfo'; import RemoveRw from './pages/RemoveRw'; import HomePage from './pages/HomePage'; // import RemoveFenbu from './pages/RemoveFenbu'; import ConsumePage from './pages/ConsumePage'; import AuthorizationWaitingPage from './pages/AuthorizationWaitingPage'; import PopularPage from './pages/PopularPage'; import CreativePlazaPage from './pages/CreativePlazaPage'; import { useAuthStore } from './store/useAuthStore'; const ProtectedRoute = ({ children }: { children: React.ReactNode }) => { const { user, loading, checkAuth } = useAuthStore(); useEffect(() => { const token = localStorage.getItem('auth_token'); if (!token && !loading && !user) { window.location.href = '/login'; } }, [user, loading]); if (loading) { return (
); } if (!user) { window.location.href = '/login'; return null; } return <>{children}; }; const App = () => { const { checkAuth } = useAuthStore(); useEffect(() => { checkAuth(); }, []); return ( } /> } > } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> {/* } /> */} } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> ); }; export default App;