import { lazy } from "react"; import { RouteObject } from "react-router-dom"; import { login, system } from "../api"; import { getToken } from "../utils"; import KeepAlive from "../compenents/keep-alive"; // 页面加载 import InitPage from "../pages/init"; import LoginPage from "../pages/login"; import HomePage from "../pages/home"; //首页 const DashboardPage = lazy(() => import("../pages/dashboard")); //修改密码页面 const ChangePasswordPage = lazy(() => import("../pages/change-password")); //资源管理相关 const ResourceCategoryPage = lazy( () => import("../pages/resource/resource-category") ); const ResourceImagesPage = lazy(() => import("../pages/resource/images")); const ResourceVideosPage = lazy(() => import("../pages/resource/videos")); //课程相关 const CoursePage = lazy(() => import("../pages/course/index")); const CourseUserPage = lazy(() => import("../pages/course/user")); //学员相关 const MemberPage = lazy(() => import("../pages/member")); const MemberImportPage = lazy(() => import("../pages/member/import")); const MemberLearnPage = lazy(() => import("../pages/member/learn")); const MemberDepartmentProgressPage = lazy( () => import("../pages/member/departmentUser") ); //系统相关 const SystemConfigPage = lazy(() => import("../pages/system/config")); const SystemAdministratorPage = lazy( () => import("../pages/system/administrator") ); const SystemAdminrolesPage = lazy(() => import("../pages/system/adminroles")); //部门页面 const DepartmentPage = lazy(() => import("../pages/department")); //测试 const TestPage = lazy(() => import("../pages/test")); //错误页面 const ErrorPage = lazy(() => import("../pages/error")); import PrivateRoute from "../compenents/private-route"; // const LoginPage = lazy(() => import("../pages/login")); let RootPage: any = null; if (getToken()) { RootPage = lazy(async () => { return new Promise(async (resolve) => { try { let configRes: any = await system.getSystemConfig(); let userRes: any = await login.getUser(); resolve({ default: ( ), }); } catch (e) { console.error("系统初始化失败", e); resolve({ default: , }); } }); }); } else { RootPage = ; } const routes: RouteObject[] = [ { path: "/", element: RootPage, children: [ { path: "/", element: } />, children: [ { path: "/", element: } />, }, { path: "/change-password", element: } />, }, { path: "/resource-category", element: } />, }, { path: "/images", element: } />, }, { path: "/videos", element: } />, }, { path: "/course", element: } />, }, { path: "/course/user/:courseId", element: } />, }, { path: "/member", element: , children: [ { path: "/member/index", element: } />, }, { path: "/member/import", element: } />, }, { path: "/member/learn", element: } />, }, { path: "/member/departmentUser", element: ( } /> ), }, ], }, { path: "/system/config/index", element: } />, }, { path: "/system/administrator", element: } />, }, { path: "/system/adminroles", element: } />, }, { path: "/department", element: } />, }, ], }, { path: "/login", element: , }, { path: "/test", element: , }, { path: "*", element: , }, ], }, ]; export default routes;