From d835d1b51f832889929cdf69010034a30ef44d02 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期四, 17 十月 2024 13:57:29 +0800
Subject: [PATCH] #

---
 zy-asrs-flow/src/App.jsx |  100 ++++++++++++++++++++++++++++++++------------------
 1 files changed, 64 insertions(+), 36 deletions(-)

diff --git a/zy-asrs-flow/src/App.jsx b/zy-asrs-flow/src/App.jsx
index 4d783c2..84866e2 100644
--- a/zy-asrs-flow/src/App.jsx
+++ b/zy-asrs-flow/src/App.jsx
@@ -1,5 +1,5 @@
 import React from 'react';
-import { Footer, Question, SelectLang, AvatarDropdown, AvatarName } from '@/components';
+import { Footer, Question, SelectLang, AvatarDropdown, AvatarName, Brightness, LayoutSwitch, FullScreen } from '@/components';
 import { LinkOutlined } from '@ant-design/icons';
 import { SettingDrawer } from '@ant-design/pro-components';
 import { history, Link } from '@umijs/max';
@@ -8,8 +8,11 @@
 import { getRemoteMenu, getRoutersInfo, getUserInfo, setRemoteMenu, patchRouteWithRemoteMenus } from './services/route';
 import { getToken, setToken } from '@/utils/token-util'
 import { TOKEN_HEADER_NAME, TOKEN_STORE_NAME } from '@/config/setting';
-import { API_BASE_URL } from '@/config/setting'
+import { API_BASE_URL, API_TIMEOUT } from '@/config/setting'
 import { message } from 'antd';
+
+import logo from '../public/img/logo.png'
+import logoDark from '../public/img/logo-dark.png'
 
 const isDev = process.env.NODE_ENV === 'development';
 const loginPath = '/user/login';
@@ -81,8 +84,31 @@
 // ProLayout 鏀寔鐨刟pi https://procomponents.ant.design/components/layout
 // 浼樺厛绾� layout > config > defaultSetting
 export const layout = ({ initialState, setInitialState }) => {
+  const [darkMode, setDarkMode] = React.useState(() => {
+    const storedValue = localStorage.getItem('darkMode');
+    return storedValue !== null ? JSON.parse(storedValue) : false;
+  });
+
+  const [layoutMode, setLayoutMode] = React.useState(() => {
+    const storedValue = localStorage.getItem('layoutMode');
+    return storedValue !== null ? JSON.parse(storedValue) : true;
+  });
+
+  const [fullScreen, setFullScreen] = React.useState(false);
+
+  React.useEffect(() => {
+    localStorage.setItem('darkMode', JSON.stringify(darkMode));
+    localStorage.setItem('layoutMode', JSON.stringify(layoutMode));
+  }, [darkMode, layoutMode]);
+
   return {
-    actionsRender: () => [<Question key="doc" />, <SelectLang key="SelectLang" />],
+    actionsRender: () => [
+      // <Question key="doc" />,
+      <SelectLang key="SelectLang" />,
+      <FullScreen fullScreen={fullScreen} setFullScreen={setFullScreen} />,
+      <LayoutSwitch layoutMode={layoutMode} setLayoutMode={setLayoutMode} />,
+      <Brightness darkMode={darkMode} setDarkMode={setDarkMode} />,
+    ],
     avatarProps: {
       src: initialState?.currentUser?.avatar,
       title: <AvatarName />,
@@ -124,35 +150,27 @@
     //   },
     // },
     bgLayoutImgList: [
-      {
-        src: 'https://mdn.alipayobjects.com/yuyan_qk0oxh/afts/img/D2LWSqNny4sAAAAAAAAAAAAAFl94AQBr',
-        left: 85,
-        bottom: 100,
-        height: '303px',
-      },
-      {
-        src: 'https://mdn.alipayobjects.com/yuyan_qk0oxh/afts/img/C2TWRpJpiC0AAAAAAAAAAAAAFl94AQBr',
-        bottom: -68,
-        right: -45,
-        height: '303px',
-      },
-      {
-        src: 'https://mdn.alipayobjects.com/yuyan_qk0oxh/afts/img/F6vSTbj8KpYAAAAAAAAAAAAAFl94AQBr',
-        bottom: 0,
-        left: 0,
-        width: '331px',
-      },
+      // {
+      //   src: 'https://mdn.alipayobjects.com/yuyan_qk0oxh/afts/img/D2LWSqNny4sAAAAAAAAAAAAAFl94AQBr',
+      //   left: 85,
+      //   bottom: 100,
+      //   height: '303px',
+      // },
+      // {
+      //   src: 'https://mdn.alipayobjects.com/yuyan_qk0oxh/afts/img/C2TWRpJpiC0AAAAAAAAAAAAAFl94AQBr',
+      //   bottom: -68,
+      //   right: -45,
+      //   height: '303px',
+      // },
+      // {
+      //   src: 'https://mdn.alipayobjects.com/yuyan_qk0oxh/afts/img/F6vSTbj8KpYAAAAAAAAAAAAAFl94AQBr',
+      //   bottom: 0,
+      //   left: 0,
+      //   width: '331px',
+      // },
     ],
     // 鏄剧ず鍦ㄨ彍鍗曞彸涓嬭鐨勫揩鎹锋搷浣�
-    links: false
-      // links: isDev
-      ? [
-        <Link key="openapi" to="/umi/plugin/openapi" target="_blank">
-          <LinkOutlined />
-          <span>OpenAPI 鏂囨。</span>
-        </Link>,
-      ]
-      : [],
+    links: [],
     menuHeaderRender: undefined,
     // 鑷畾涔� 403 椤甸潰
     // unAccessible: <div>unAccessible</div>,
@@ -162,7 +180,7 @@
       return (
         <>
           {children}
-          {isDev && (
+          {/* {isDev && (
             <SettingDrawer
               disableUrlParams
               enableDarkTheme
@@ -175,12 +193,12 @@
                 }));
               }}
             />
-          )}
+          )} */}
         </>
       );
     },
     ...initialState?.settings,
-    layout: 'top',  // layout 鐨勮彍鍗曟ā寮忥紝side锛氬彸渚у鑸紝top锛氶《閮ㄥ鑸�
+    layout: layoutMode ? 'top' : 'mix',  // layout 鐨勮彍鍗曟ā寮忥紝side锛氬彸渚у鑸紝top锛氶《閮ㄥ鑸�
     // contentStyle: () => {  // 	layout 鐨勫唴瀹瑰尯 style
     //   return 
     // },
@@ -188,9 +206,19 @@
     fixedHeader: true,  // 鍥哄畾 header
     fixSiderbar: true,  // 鍥哄畾瀵艰埅
     // settings: defaultSettings, // layout 鐨勮缃�
-    waterMarkProps: { content: initialState?.currentUser?.nickname }, //姘村嵃
-    navTheme: 'realDark', // 榛樿涓婚棰滆壊  "realDark" | "light" | undef...
+    // waterMarkProps: { content: initialState?.currentUser?.nickname }, //姘村嵃
+    // navTheme: 'realDark', // 榛樿涓婚棰滆壊  "realDark" | "light" | undef...
+    navTheme: darkMode ? 'realDark' : 'light',
     footerRender: false,  // 椤佃剼 鍚敤璇锋敞閲婏紝涓嶆槸璁剧疆涓簍rue
+    logo: darkMode
+      ? <img src={logo} className='header-logo' />
+      : <img src={logoDark} className='header-logo' />
+    ,
+    title: (
+      <div className='header-title'>
+      </div>
+    ),
+    colorWeak: true,
   };
 };
 
@@ -203,7 +231,7 @@
 export const request = {
   baseURL: API_BASE_URL,
   ...errorConfig,
-  timeout: 60000,
+  timeout: API_TIMEOUT * 1000,
   // 鍓嶇疆瀹堝崼
   requestInterceptors: [
     (url, options) => {

--
Gitblit v1.9.1