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 |  112 +++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 75 insertions(+), 37 deletions(-)

diff --git a/zy-asrs-flow/src/App.jsx b/zy-asrs-flow/src/App.jsx
index 1472df8..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,16 +8,17 @@
 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';
 const defaultAvatar = 'https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png'
 
 // https://xflow.antv.vision/zh-CN/docs/tutorial/solutions/dag DAG 娴佺▼鍥�
-// https://ant-design.antgroup.com/components/table-cn 琛ㄦ牸
-// https://procomponents.ant.design/components/form 琛ㄥ崟pro
 export function render(oldRender) {
   const token = getToken();
   if (!token || token?.length === 0) {
@@ -81,9 +82,33 @@
 }
 
 // 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 />,
@@ -103,9 +128,6 @@
         }
         return getRemoteMenu();
       },
-    },
-    waterMarkProps: {
-      // content: initialState?.currentUser?.nickname,
     },
     footerRender: () => <Footer />,
     onPageChange: () => {
@@ -128,33 +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: isDev
-      ? [
-        <Link key="openapi" to="/umi/plugin/openapi" target="_blank">
-          <LinkOutlined />
-          <span>OpenAPI 鏂囨。</span>
-        </Link>,
-      ]
-      : [],
+    // 鏄剧ず鍦ㄨ彍鍗曞彸涓嬭鐨勫揩鎹锋搷浣�
+    links: [],
     menuHeaderRender: undefined,
     // 鑷畾涔� 403 椤甸潰
     // unAccessible: <div>unAccessible</div>,
@@ -164,23 +180,45 @@
       return (
         <>
           {children}
-          {isDev && (
+          {/* {isDev && (
             <SettingDrawer
               disableUrlParams
               enableDarkTheme
               settings={initialState?.settings}
               onSettingChange={(settings) => {
+                console.log(settings);
                 setInitialState((preInitialState) => ({
                   ...preInitialState,
                   settings,
                 }));
               }}
             />
-          )}
+          )} */}
         </>
       );
     },
     ...initialState?.settings,
+    layout: layoutMode ? 'top' : 'mix',  // layout 鐨勮彍鍗曟ā寮忥紝side锛氬彸渚у鑸紝top锛氶《閮ㄥ鑸�
+    // contentStyle: () => {  // 	layout 鐨勫唴瀹瑰尯 style
+    //   return 
+    // },
+    contentWidth: 'Fluid', // layout 鐨勫唴瀹规ā寮忥紝Fluid锛氳嚜閫傚簲锛堝叏灞忥級锛孎ixed锛氬畾瀹� 锛堝皬锛� 1200px
+    fixedHeader: true,  // 鍥哄畾 header
+    fixSiderbar: true,  // 鍥哄畾瀵艰埅
+    // settings: defaultSettings, // layout 鐨勮缃�
+    // 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,
   };
 };
 
@@ -193,7 +231,7 @@
 export const request = {
   baseURL: API_BASE_URL,
   ...errorConfig,
-  timeout: 60000,
+  timeout: API_TIMEOUT * 1000,
   // 鍓嶇疆瀹堝崼
   requestInterceptors: [
     (url, options) => {

--
Gitblit v1.9.1