Browse Source

feat: 记住侧边栏展开/收起

lanjianrong 4 năm trước cách đây
mục cha
commit
2bf2ceca9a
2 tập tin đã thay đổi với 17 bổ sung3 xóa
  1. 14 3
      src/app.tsx
  2. 3 0
      src/utils/cache/cacheEnum.ts

+ 14 - 3
src/app.tsx

@@ -6,6 +6,8 @@ import logo from '../public/logo.svg'
 import BasicModal, { BasicDrawer } from '@/components/Modal'
 // import ws, { onMessage } from '@/utils/ws'
 import { tryChangeWorkStatus } from './components/RightContent/Book'
+import { getAuthCache, setAuthCache } from './utils/auth'
+import { LAYOUT_COLLAPSED_KEY } from './utils/cache/cacheEnum'
 
 const loginPath = '/user/login'
 
@@ -42,12 +44,13 @@ export async function getInitialState() {
     //   })
     // }
 
+    const collapsed = getAuthCache(LAYOUT_COLLAPSED_KEY) || false
     return {
       fetchUserInfo,
       fetchPermData,
       permData,
       ...userInfo,
-      settings: {}
+      settings: { collapsed, defaultCollapsed: collapsed }
     }
   }
   return {
@@ -57,7 +60,13 @@ export async function getInitialState() {
   }
 }
 
-export const layout = ({ initialState }) => {
+export const layout = ({ initialState, setInitialState }) => {
+  console.log(initialState?.settings)
+  const onCollapse = collapsed => {
+    setInitialState({ ...initialState, settings: { ...initialState.settings, collapsed } })
+    setAuthCache(LAYOUT_COLLAPSED_KEY, collapsed)
+  }
+
   return {
     logo,
     rightContentRender: () => <RightContent />,
@@ -97,6 +106,8 @@ export const layout = ({ initialState }) => {
     //   </div>
     // ],
     // menuHeaderRender: false,
-    ...initialState?.settings
+    ...initialState?.settings,
+    breakpoint: false,
+    onCollapse
   }
 }

+ 3 - 0
src/utils/cache/cacheEnum.ts

@@ -25,6 +25,9 @@ export const WORKBENCH_CYCLICAL_KEY = 'WORKBENCH_CYCLICAL_KEY'
 // default businessId seleted
 export const BUSINESS_GROUP_KEY = 'BUSINESS_GROUP_KEY'
 
+// default project layout setting
+export const LAYOUT_COLLAPSED_KEY = 'LAYOUT_COLLAPSED_KEY'
+
 // permission select component defualtValue key
 export enum MainMenuKeyEnum {
   /** @name 客户 */