From f05a696941a0416856dfe22d5948247b5efc1e93 Mon Sep 17 00:00:00 2001 From: none Date: Tue, 11 Apr 2023 11:08:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E7=B3=BB=E7=BB=9F=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E7=9A=84=E5=8A=A0=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/init/index.tsx | 20 ++++++++++++++++- src/routes/index.tsx | 48 +++++++++++++--------------------------- 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/src/pages/init/index.tsx b/src/pages/init/index.tsx index 76f9f0d..cf99b4f 100644 --- a/src/pages/init/index.tsx +++ b/src/pages/init/index.tsx @@ -1,9 +1,14 @@ import { useDispatch } from "react-redux"; import { Outlet } from "react-router-dom"; import { loginAction } from "../../store/user/loginUserSlice"; +import { + SystemConfigStoreInterface, + saveConfigAction, +} from "../../store/system/systemConfigSlice"; interface Props { - loginData: any | null; + loginData?: any; + configData?: any; } const InitPage = (props: Props) => { @@ -12,6 +17,19 @@ const InitPage = (props: Props) => { dispatch(loginAction(props.loginData)); } + if (props.configData) { + let config: SystemConfigStoreInterface = { + systemName: props.configData["system.name"], + systemLogo: props.configData["system.logo"], + systemApiUrl: props.configData["system.api_url"], + systemPcUrl: props.configData["system.pc_url"], + systemH5Url: props.configData["system.h5_url"], + memberDefaultAvatar: props.configData["member.default_avatar"], + courseDefaultThumbs: props.configData["default.course_thumbs"], + }; + dispatch(saveConfigAction(config)); + } + return ( <> diff --git a/src/routes/index.tsx b/src/routes/index.tsx index e27405b..42e9f92 100644 --- a/src/routes/index.tsx +++ b/src/routes/index.tsx @@ -1,6 +1,6 @@ import { lazy } from "react"; import { RouteObject } from "react-router-dom"; -import { login } from "../api"; +import { login, system } from "../api"; import InitPage from "../pages/init"; import { getToken } from "../utils"; @@ -23,52 +23,34 @@ import DepartmentPage from "../pages/department"; import TestPage from "../pages/test"; import ErrorPage from "../pages/error"; -// 异步加载页面 // 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")); let RootPage: any = null; if (getToken()) { RootPage = lazy(async () => { - return new Promise((resolve) => { - let userLoginToken = getToken(); - if (!userLoginToken) { + return new Promise(async (resolve) => { + try { + let configRes: any = await system.getSystemConfig(); + let userRes: any = await login.getUser(); + resolve({ - default: InitPage, + default: ( + + ), + }); + } catch (e) { + console.error("系统初始化失败", e); + resolve({ + default: , }); - return; } - login.getUser().then((res: any) => { - resolve({ - default: , - }); - }); - // todo token过期处理 }); }); } else { if (window.location.pathname !== "/login") { window.location.href = "/login"; } - RootPage = ; + RootPage = ; } const routes: RouteObject[] = [