From 9f90bd75d303dc74b2a92daaf5028747e94fd358 Mon Sep 17 00:00:00 2001 From: none Date: Thu, 23 Mar 2023 16:35:20 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.tsx | 13 ++- src/pages/change-password/index.tsx | 7 +- src/pages/course/index.tsx | 8 +- src/pages/dashboard/index.tsx | 6 +- src/pages/department/index.tsx | 13 +-- src/pages/error/index.tsx | 5 +- src/pages/home/index.tsx | 4 +- src/pages/index.ts | 17 --- src/pages/init/index.tsx | 7 ++ src/pages/loading/index.tsx | 11 ++ src/pages/login/index.tsx | 4 +- src/pages/member/import.tsx | 8 +- src/pages/member/index.tsx | 4 +- src/pages/resource/images/index.tsx | 4 +- .../resource/resource-category/index.tsx | 15 +-- src/pages/resource/videos/index.tsx | 8 +- src/pages/system/administrator/index.tsx | 4 +- src/pages/system/adminroles/index.tsx | 6 +- src/pages/system/config/index.tsx | 6 +- src/pages/test/index.tsx | 5 +- src/router/routes.tsx | 90 ---------------- src/routes/index.tsx | 102 ++++++++++++++++++ 22 files changed, 190 insertions(+), 157 deletions(-) delete mode 100644 src/pages/index.ts create mode 100644 src/pages/init/index.tsx create mode 100644 src/pages/loading/index.tsx delete mode 100644 src/router/routes.tsx create mode 100644 src/routes/index.tsx diff --git a/src/App.tsx b/src/App.tsx index 88ac5de..91f8a9c 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,6 +1,7 @@ +import { Suspense } from "react"; import styles from "./App.module.less"; import { useRoutes } from "react-router-dom"; -import routes from "./router/routes"; +import routes from "./routes"; import { getToken } from "./utils/index"; import { login } from "./api/index"; import { useDispatch } from "react-redux"; @@ -9,9 +10,11 @@ import { SetUserActionCreator, SetPermisssionsActionCreator, } from "./store/user/userActions"; +import LoadingPage from "./pages/loading"; function App() { const Views = () => useRoutes(routes); + const dispatch = useDispatch(); const getUser = () => { login.getUser().then((res: any) => { @@ -26,9 +29,11 @@ function App() { } return ( -
- -
+ }> +
+ +
+
); } diff --git a/src/pages/change-password/index.tsx b/src/pages/change-password/index.tsx index af620ba..11aced1 100644 --- a/src/pages/change-password/index.tsx +++ b/src/pages/change-password/index.tsx @@ -1,11 +1,10 @@ -import React from "react"; import { Row, Col, Form, Input, Button, message } from "antd"; -import styles from "./create.module.less"; +// import styles from "./create.module.less"; import { login } from "../../api/index"; import { useNavigate } from "react-router-dom"; import { BackBartment } from "../../compenents"; -export const ChangePasswordPage: React.FC = () => { +const ChangePasswordPage = () => { const navigate = useNavigate(); const [form] = Form.useForm(); @@ -74,3 +73,5 @@ export const ChangePasswordPage: React.FC = () => { ); }; + +export default ChangePasswordPage; diff --git a/src/pages/course/index.tsx b/src/pages/course/index.tsx index 20f0b2a..2b00c07 100644 --- a/src/pages/course/index.tsx +++ b/src/pages/course/index.tsx @@ -12,7 +12,7 @@ import { Dropdown, } from "antd"; import { course } from "../../api"; -import styles from "./index.module.less"; +// import styles from "./index.module.less"; import { PlusOutlined, DownOutlined, @@ -21,7 +21,7 @@ import { import type { MenuProps } from "antd"; import type { ColumnsType } from "antd/es/table"; import { dateFormat } from "../../utils/index"; -import { Link, useNavigate } from "react-router-dom"; +import { useNavigate } from "react-router-dom"; import { TreeDepartment, TreeCategory, PerButton } from "../../compenents"; import type { TabsProps } from "antd"; import { CourseCreate } from "./compenents/create"; @@ -39,7 +39,7 @@ interface DataType { is_show: number; } -export const CoursePage = () => { +const CoursePage = () => { const navigate = useNavigate(); const [list, setList] = useState([]); const [refresh, setRefresh] = useState(false); @@ -423,3 +423,5 @@ export const CoursePage = () => { ); }; + +export default CoursePage; diff --git a/src/pages/dashboard/index.tsx b/src/pages/dashboard/index.tsx index de27fa0..4e2c95d 100644 --- a/src/pages/dashboard/index.tsx +++ b/src/pages/dashboard/index.tsx @@ -1,4 +1,4 @@ -import React, { useState, useEffect, useRef } from "react"; +import { useState, useEffect, useRef } from "react"; import styles from "./index.module.less"; import { Row, Col } from "antd"; import { Link, useNavigate } from "react-router-dom"; @@ -12,7 +12,7 @@ import { dashboard } from "../../api/index"; import { timeFormat } from "../../utils/index"; import * as echarts from "echarts"; -export const Dashboard: React.FC = () => { +const DashboardPage = () => { let chartRef = useRef(null); const navigate = useNavigate(); const [basicData, setBasicData] = useState([]); @@ -536,3 +536,5 @@ export const Dashboard: React.FC = () => { ); }; + +export default DashboardPage; diff --git a/src/pages/department/index.tsx b/src/pages/department/index.tsx index 846399e..4febeb7 100644 --- a/src/pages/department/index.tsx +++ b/src/pages/department/index.tsx @@ -1,6 +1,6 @@ import React, { useState, useEffect } from "react"; import { Spin, Button, Tree, Modal, message, Tooltip } from "antd"; -import styles from "./index.module.less"; +// import styles from "./index.module.less"; import { PlusOutlined, ExclamationCircleFilled } from "@ant-design/icons"; import { department } from "../../api/index"; import { PerButton } from "../../compenents"; @@ -18,14 +18,7 @@ interface Option { children?: Option[]; } -interface DataType { - id: React.Key; - name: string; - created_at: string; - sort: number; -} - -export const DepartmentPage: React.FC = () => { +const DepartmentPage = () => { const navigate = useNavigate(); const permisssions = useSelector((state: any) => state.permisssions); const [loading, setLoading] = useState(true); @@ -398,3 +391,5 @@ export const DepartmentPage: React.FC = () => { ); }; + +export default DepartmentPage; diff --git a/src/pages/error/index.tsx b/src/pages/error/index.tsx index 3ab4378..18fc278 100644 --- a/src/pages/error/index.tsx +++ b/src/pages/error/index.tsx @@ -1,9 +1,8 @@ import { Button, Result } from "antd"; -import React from "react"; import { useNavigate } from "react-router-dom"; import styles from "./index.module.less"; -export const ErrorPage: React.FC = () => { +const ErrorPage = () => { const navigate = useNavigate(); return ( @@ -25,3 +24,5 @@ export const ErrorPage: React.FC = () => { /> ); }; + +export default ErrorPage; diff --git a/src/pages/home/index.tsx b/src/pages/home/index.tsx index c235ad4..aba2ef7 100644 --- a/src/pages/home/index.tsx +++ b/src/pages/home/index.tsx @@ -3,7 +3,7 @@ import styles from "./index.module.less"; import { Outlet } from "react-router-dom"; import { Header, LeftMenu } from "../../compenents"; -export const HomePage: React.FC = () => { +const HomePage = () => { useEffect(() => {}, []); return ( @@ -25,3 +25,5 @@ export const HomePage: React.FC = () => { ); }; + +export default HomePage; diff --git a/src/pages/index.ts b/src/pages/index.ts deleted file mode 100644 index fd0dafd..0000000 --- a/src/pages/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -export * from "./home"; -export * from "./login"; -export * from "./dashboard"; -export * from "./error"; -export * from "./test"; -export * from "./course/index"; -export * from "./member/index"; -export * from "./member/import"; -export * from "./system/config/index"; -export * from "./system/administrator/index"; -export * from "./system/adminroles/index"; -export * from "./department"; -export * from "./change-password"; -export * from "./resource/images"; -export * from "./resource/resource-category/index"; -export * from "./resource/videos"; - diff --git a/src/pages/init/index.tsx b/src/pages/init/index.tsx new file mode 100644 index 0000000..90acd1a --- /dev/null +++ b/src/pages/init/index.tsx @@ -0,0 +1,7 @@ +import { Outlet } from "react-router-dom"; + +const InitPage = () => { + return <> +}; + +export default InitPage; diff --git a/src/pages/loading/index.tsx b/src/pages/loading/index.tsx new file mode 100644 index 0000000..df80a52 --- /dev/null +++ b/src/pages/loading/index.tsx @@ -0,0 +1,11 @@ +import { Spin } from "antd"; + +const LoadingPage = () => { + return ( + <> + + + ); +}; + +export default LoadingPage; diff --git a/src/pages/login/index.tsx b/src/pages/login/index.tsx index 2e5a8fb..61bf12f 100644 --- a/src/pages/login/index.tsx +++ b/src/pages/login/index.tsx @@ -14,7 +14,7 @@ import banner from "../../assets/images/login/banner.png"; import icon from "../../assets/images/login/icon.png"; import "./login.less"; -export const Login: React.FC = () => { +const LoginPage = () => { const dispatch = useDispatch(); const navigate = useNavigate(); const [loading, setLoading] = useState(false); @@ -166,3 +166,5 @@ export const Login: React.FC = () => { ); }; + +export default LoginPage; diff --git a/src/pages/member/import.tsx b/src/pages/member/import.tsx index baf12e0..c4ff87f 100644 --- a/src/pages/member/import.tsx +++ b/src/pages/member/import.tsx @@ -1,12 +1,12 @@ -import React, { useState, useEffect } from "react"; +import { useState } from "react"; import * as XLSX from "xlsx"; -import { Row, Col, Form, Input, Cascader, Button, Upload, message } from "antd"; +import { Row, Col, Button, Upload, message } from "antd"; import { BackBartment } from "../../compenents"; import { user } from "../../api/index"; import { useNavigate } from "react-router-dom"; import { getHost } from "../../utils/index"; -export const MemberImportPage: React.FC = () => { +const MemberImportPage = () => { const navigate = useNavigate(); const [tableData, setWageTableData] = useState([]); const [errorData, setErrorData] = useState([]); @@ -106,3 +106,5 @@ export const MemberImportPage: React.FC = () => { ); }; + +export default MemberImportPage; diff --git a/src/pages/member/index.tsx b/src/pages/member/index.tsx index a044376..34b5641 100644 --- a/src/pages/member/index.tsx +++ b/src/pages/member/index.tsx @@ -30,7 +30,7 @@ interface DataType { is_lock: number; } -export const MemberPage: React.FC = () => { +const MemberPage = () => { const [loading, setLoading] = useState(true); const [page, setPage] = useState(1); const [size, setSize] = useState(10); @@ -303,3 +303,5 @@ export const MemberPage: React.FC = () => { ); }; + +export default MemberPage; diff --git a/src/pages/resource/images/index.tsx b/src/pages/resource/images/index.tsx index 031ceb4..a17c7ca 100644 --- a/src/pages/resource/images/index.tsx +++ b/src/pages/resource/images/index.tsx @@ -31,7 +31,7 @@ interface ImageItem { created_at: string; } -export const ResourceImagesPage = () => { +const ResourceImagesPage = () => { const [imageList, setImageList] = useState([]); const [refresh, setRefresh] = useState(false); const [page, setPage] = useState(1); @@ -273,3 +273,5 @@ export const ResourceImagesPage = () => { ); }; + +export default ResourceImagesPage; diff --git a/src/pages/resource/resource-category/index.tsx b/src/pages/resource/resource-category/index.tsx index 1943ba2..263cabd 100644 --- a/src/pages/resource/resource-category/index.tsx +++ b/src/pages/resource/resource-category/index.tsx @@ -1,6 +1,6 @@ import React, { useState, useEffect } from "react"; -import { Spin, Button, Tree, Modal, message, Tooltip } from "antd"; -import styles from "./index.module.less"; +import { Button, Tree, Modal, message, Tooltip } from "antd"; +// import styles from "./index.module.less"; import { PlusOutlined, ExclamationCircleFilled } from "@ant-design/icons"; import { resourceCategory } from "../../../api/index"; import { PerButton } from "../../../compenents"; @@ -18,14 +18,7 @@ interface Option { children?: Option[]; } -interface DataType { - id: React.Key; - name: string; - created_at: string; - sort: number; -} - -export const ResourceCategoryPage: React.FC = () => { +const ResourceCategoryPage = () => { const navigate = useNavigate(); const permisssions = useSelector((state: any) => state.permisssions); const [loading, setLoading] = useState(true); @@ -406,3 +399,5 @@ export const ResourceCategoryPage: React.FC = () => { ); }; + +export default ResourceCategoryPage; diff --git a/src/pages/resource/videos/index.tsx b/src/pages/resource/videos/index.tsx index a8d19c4..a06a3c8 100644 --- a/src/pages/resource/videos/index.tsx +++ b/src/pages/resource/videos/index.tsx @@ -1,7 +1,7 @@ import { useEffect, useState } from "react"; -import { Button, Modal, Table, message, Space } from "antd"; +import { Modal, Table, message, Space } from "antd"; import { resource } from "../../../api"; -import styles from "./index.module.less"; +// import styles from "./index.module.less"; import { ExclamationCircleFilled } from "@ant-design/icons"; import type { ColumnsType } from "antd/es/table"; import { dateFormat } from "../../../utils/index"; @@ -18,7 +18,7 @@ interface DataType { disk: string; } -export const ResourceVideosPage = () => { +const ResourceVideosPage = () => { const [videoList, setVideoList] = useState([]); const [videosExtra, setVideoExtra] = useState([]); const [adminUsers, setAdminUsers] = useState({}); @@ -203,3 +203,5 @@ export const ResourceVideosPage = () => { ); }; + +export default ResourceVideosPage; diff --git a/src/pages/system/administrator/index.tsx b/src/pages/system/administrator/index.tsx index 49d219b..7bb254a 100644 --- a/src/pages/system/administrator/index.tsx +++ b/src/pages/system/administrator/index.tsx @@ -20,7 +20,7 @@ interface DataType { is_ban_login: number; } -export const SystemAdministratorPage: React.FC = () => { +const SystemAdministratorPage = () => { const navigate = useNavigate(); const [loading, setLoading] = useState(true); const [page, setPage] = useState(1); @@ -228,3 +228,5 @@ export const SystemAdministratorPage: React.FC = () => { ); }; + +export default SystemAdministratorPage; diff --git a/src/pages/system/adminroles/index.tsx b/src/pages/system/adminroles/index.tsx index c83e411..c93cd89 100644 --- a/src/pages/system/adminroles/index.tsx +++ b/src/pages/system/adminroles/index.tsx @@ -1,7 +1,7 @@ import React, { useState, useEffect } from "react"; import { Button, Space, Table, Modal, message } from "antd"; import type { ColumnsType } from "antd/es/table"; -import styles from "./index.module.less"; +// import styles from "./index.module.less"; import { PlusOutlined, ExclamationCircleFilled } from "@ant-design/icons"; import { adminRole } from "../../../api/index"; import { dateFormat } from "../../../utils/index"; @@ -17,7 +17,7 @@ interface DataType { created_at: string; } -export const SystemAdminrolesPage: React.FC = () => { +const SystemAdminrolesPage = () => { const [loading, setLoading] = useState(true); const [list, setList] = useState([]); const [refresh, setRefresh] = useState(false); @@ -153,3 +153,5 @@ export const SystemAdminrolesPage: React.FC = () => { ); }; + +export default SystemAdminrolesPage; diff --git a/src/pages/system/config/index.tsx b/src/pages/system/config/index.tsx index 06ab0ff..82f55ec 100644 --- a/src/pages/system/config/index.tsx +++ b/src/pages/system/config/index.tsx @@ -1,4 +1,4 @@ -import React, { useState, useEffect } from "react"; +import { useState, useEffect } from "react"; import { Row, Form, @@ -17,7 +17,7 @@ import { UploadImageButton } from "../../../compenents"; import type { TabsProps } from "antd"; import type { CheckboxChangeEvent } from "antd/es/checkbox"; -export const SystemIndexPage: React.FC = () => { +const SystemConfigPage = () => { const [form] = Form.useForm(); const [loading, setLoading] = useState(false); const [logo, setLogo] = useState(""); @@ -367,3 +367,5 @@ export const SystemIndexPage: React.FC = () => { ); }; + +export default SystemConfigPage; diff --git a/src/pages/test/index.tsx b/src/pages/test/index.tsx index b0be39a..35a681b 100644 --- a/src/pages/test/index.tsx +++ b/src/pages/test/index.tsx @@ -1,7 +1,6 @@ -import React from "react"; import { UploadVideoButton } from "../../compenents/upload-video-button"; -export const TestPage: React.FC = () => { +const TestPage = () => { return (
{
); }; + +export default TestPage; diff --git a/src/router/routes.tsx b/src/router/routes.tsx deleted file mode 100644 index 080db63..0000000 --- a/src/router/routes.tsx +++ /dev/null @@ -1,90 +0,0 @@ -import { RouteObject } from "react-router-dom"; -import { - Login, - HomePage, - Dashboard, - ErrorPage, - CoursePage, - TestPage, - MemberPage, - MemberImportPage, - SystemAdministratorPage, - SystemAdminrolesPage, - DepartmentPage, - ChangePasswordPage, - ResourceImagesPage, - ResourceCategoryPage, - ResourceVideosPage, - SystemIndexPage, -} from "../pages"; - -const routes: RouteObject[] = [ - { - path: "/", - element: , - children: [ - { - path: "/", - element: , - }, - { - path: "/change-password", - element: , - }, - { - path: "/resource-category", - element: , - }, - { - path: "/images", - element: , - }, - { - path: "/videos", - element: , - }, - { - path: "/course", - element: , - }, - { - path: "/member", - element: , - }, - { - path: "/member/import", - 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; diff --git a/src/routes/index.tsx b/src/routes/index.tsx new file mode 100644 index 0000000..93b86f4 --- /dev/null +++ b/src/routes/index.tsx @@ -0,0 +1,102 @@ +import { lazy } from "react"; +import { RouteObject } from "react-router-dom"; + +import InitPage from "../pages/init"; + +const LoginPage = lazy(() => import("../pages/login")); +const HomePage = lazy(() => import("../pages/home")); +const DashboardPage = lazy(() => import("../pages/dashboard")); +const ErrorPage = lazy(() => import("../pages/error")); +const CoursePage = lazy(() => import("../pages/course")); +const TestPage = lazy(() => import("../pages/test")); +const MemberPage = lazy(() => import("../pages/member")); +const MemberImportPage = lazy(() => import("../pages/member/import")); +const SystemAdministratorPage = lazy( + () => import("../pages/system/administrator") +); +const SystemAdminrolesPage = lazy(() => import("../pages/system/adminroles")); +const DepartmentPage = lazy(() => import("../pages/department")); +const ChangePasswordPage = lazy(() => import("../pages/change-password")); +const ResourceImagesPage = lazy(() => import("../pages/resource/images")); +const ResourceCategoryPage = lazy( + () => import("../pages/resource/resource-category") +); +const ResourceVideosPage = lazy(() => import("../pages/resource/videos")); +const SystemConfigPage = lazy(() => import("../pages/system/config")); + +const routes: RouteObject[] = [ + { + path: "/", + element: , + children: [ + { + path: "/", + element: , + children: [ + { + path: "/", + element: , + }, + { + path: "/change-password", + element: , + }, + { + path: "/resource-category", + element: , + }, + { + path: "/images", + element: , + }, + { + path: "/videos", + element: , + }, + { + path: "/course", + element: , + }, + { + path: "/member", + element: , + }, + { + path: "/member/import", + 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;