mirror of
https://github.com/PlayEdu/backend
synced 2025-06-08 09:05:58 +08:00
登录路由守卫组件一级学习进度整数化
This commit is contained in:
parent
6c3b29e919
commit
fc98702deb
12
src/compenents/private-route/index.tsx
Normal file
12
src/compenents/private-route/index.tsx
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
import React from "react";
|
||||||
|
import { getToken } from "../../utils/index";
|
||||||
|
import { Navigate } from "react-router-dom";
|
||||||
|
|
||||||
|
interface PropInterface {
|
||||||
|
Component: any;
|
||||||
|
}
|
||||||
|
|
||||||
|
const PrivateRoute: React.FC<PropInterface> = ({ Component }) => {
|
||||||
|
return getToken() ? Component : <Navigate to="/login" replace={true} />;
|
||||||
|
};
|
||||||
|
export default PrivateRoute;
|
@ -87,7 +87,7 @@ const CourseUserPage = () => {
|
|||||||
dataIndex: "progress",
|
dataIndex: "progress",
|
||||||
render: (progress: number) => (
|
render: (progress: number) => (
|
||||||
<span className={progress >= 10000 ? "c-green" : "c-red"}>
|
<span className={progress >= 10000 ? "c-green" : "c-red"}>
|
||||||
{progress / 100}%
|
{Math.floor(progress / 100)}%
|
||||||
</span>
|
</span>
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
|
@ -25,6 +25,7 @@ import SystemAdminrolesPage from "../pages/system/adminroles";
|
|||||||
import DepartmentPage from "../pages/department";
|
import DepartmentPage from "../pages/department";
|
||||||
import TestPage from "../pages/test";
|
import TestPage from "../pages/test";
|
||||||
import ErrorPage from "../pages/error";
|
import ErrorPage from "../pages/error";
|
||||||
|
import PrivateRoute from "../compenents/private-route";
|
||||||
|
|
||||||
// const LoginPage = lazy(() => import("../pages/login"));
|
// const LoginPage = lazy(() => import("../pages/login"));
|
||||||
|
|
||||||
@ -63,70 +64,75 @@ const routes: RouteObject[] = [
|
|||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: "/",
|
path: "/",
|
||||||
element: <HomePage />,
|
element: <PrivateRoute Component={<HomePage />} />,
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: "/",
|
path: "/",
|
||||||
element: <DashboardPage />,
|
element: <PrivateRoute Component={<DashboardPage />} />,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "/change-password",
|
path: "/change-password",
|
||||||
element: <ChangePasswordPage />,
|
element: <PrivateRoute Component={<ChangePasswordPage />} />,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "/resource-category",
|
path: "/resource-category",
|
||||||
element: <ResourceCategoryPage />,
|
element: <PrivateRoute Component={<ResourceCategoryPage />} />,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "/images",
|
path: "/images",
|
||||||
element: <ResourceImagesPage />,
|
element: <PrivateRoute Component={<ResourceImagesPage />} />,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "/videos",
|
path: "/videos",
|
||||||
element: <ResourceVideosPage />,
|
element: <PrivateRoute Component={<ResourceVideosPage />} />,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "/course",
|
path: "/course",
|
||||||
element: <CoursePage />,
|
element: <PrivateRoute Component={<CoursePage />} />,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "/course/user/:courseId",
|
path: "/course/user/:courseId",
|
||||||
element: <CourseUserPage />,
|
element: <PrivateRoute Component={<CourseUserPage />} />,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "/member",
|
path: "/member",
|
||||||
element: <KeepAlive />,
|
element: <KeepAlive />,
|
||||||
children: [
|
children: [
|
||||||
{ path: "/member/index", element: <MemberPage /> },
|
{
|
||||||
|
path: "/member/index",
|
||||||
|
element: <PrivateRoute Component={<MemberPage />} />,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: "/member/import",
|
path: "/member/import",
|
||||||
element: <MemberImportPage />,
|
element: <PrivateRoute Component={<MemberImportPage />} />,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "/member/learn",
|
path: "/member/learn",
|
||||||
element: <MemberLearnPage />,
|
element: <PrivateRoute Component={<MemberLearnPage />} />,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "/member/departmentUser",
|
path: "/member/departmentUser",
|
||||||
element: <MemberDepartmentProgressPage />,
|
element: (
|
||||||
|
<PrivateRoute Component={<MemberDepartmentProgressPage />} />
|
||||||
|
),
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "/system/config/index",
|
path: "/system/config/index",
|
||||||
element: <SystemConfigPage />,
|
element: <PrivateRoute Component={<SystemConfigPage />} />,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "/system/administrator",
|
path: "/system/administrator",
|
||||||
element: <SystemAdministratorPage />,
|
element: <PrivateRoute Component={<SystemAdministratorPage />} />,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "/system/adminroles",
|
path: "/system/adminroles",
|
||||||
element: <SystemAdminrolesPage />,
|
element: <PrivateRoute Component={<SystemAdminrolesPage />} />,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "/department",
|
path: "/department",
|
||||||
element: <DepartmentPage />,
|
element: <PrivateRoute Component={<DepartmentPage />} />,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user