import React from 'react'; import { Routes, Route, Navigate } from 'react-router-dom'; import { useAdmin } from './contexts'; // 用户端页面 import HomePage from './pages/HomePage'; import QuizPage from './pages/QuizPage'; import ResultPage from './pages/ResultPage'; import { SubjectSelectionPage } from './pages/SubjectSelectionPage'; import { UserTaskPage } from './pages/UserTaskPage'; // 管理端页面 import AdminLoginPage from './pages/admin/AdminLoginPage'; import AdminDashboardPage from './pages/admin/AdminDashboardPage'; import QuestionManagePage from './pages/admin/QuestionManagePage'; import QuestionTextImportPage from './pages/admin/QuestionTextImportPage'; import QuizConfigPage from './pages/admin/QuizConfigPage'; import StatisticsPage from './pages/admin/StatisticsPage'; import BackupRestorePage from './pages/admin/BackupRestorePage'; import QuestionCategoryPage from './pages/admin/QuestionCategoryPage'; import ExamSubjectPage from './pages/admin/ExamSubjectPage'; import ExamTaskPage from './pages/admin/ExamTaskPage'; import UserManagePage from './pages/admin/UserManagePage'; // 布局组件 import AdminLayout from './layouts/AdminLayout'; // 管理员路由守卫 const AdminRoute = ({ children }: { children: React.ReactNode }) => { const { isAuthenticated } = useAdmin(); return isAuthenticated ? <>{children} : ; }; function App() { return (
{/* 用户端路由 */} } /> } /> } /> } /> } /> {/* 管理端路由 */} } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> {/* 默认重定向 */} } />
); } export default App;