Selaa lähdekoodia

chore:调整首页menu请求位置

xyh 2 vuotta sitten
vanhempi
commit
cb3c8b4ad4

+ 0 - 3
packages/app/src/pages/home/Skeleton.tsx

@@ -29,9 +29,6 @@ const HomeSkeleton: FC = function() {
 
         <Layout.Content style={{marginLeft: '20px'}}>
           <Skeleton active />
-          <Skeleton active style={{marginTop: '20px'}} />
-          <Skeleton active style={{marginTop: '20px'}} />
-          <Skeleton active style={{marginTop: '20px'}} />
         </Layout.Content>
       </Layout>
     </Layout>

+ 0 - 42
packages/app/src/pages/home/hooks.ts

@@ -1,42 +0,0 @@
-import {getRoleMenu} from '@apis';
-import {HOME_PATH} from '@routes';
-import {menuStore} from '@stores';
-import {useQuery} from '@tanstack/react-query';
-import {sortMenu} from '@utils';
-import {useStore} from 'zustand';
-
-export function useMenu() {
-  const setMenus = useStore(menuStore, state => state.setMenu);
-
-  const {data} = useQuery(
-    [getRoleMenu.name],
-    async function() {
-      const data = await getRoleMenu();
-
-      if (data.msg === '200') {
-        const finalMenu = [
-          {
-            id: '-1',
-            name: '首页',
-            url: HOME_PATH,
-            pId: '0',
-            page: 1,
-            limit: 0,
-            orderBy: '0',
-          },
-          ...data.data,
-        ];
-
-        setMenus(finalMenu);
-        return sortMenu(finalMenu);
-      }
-
-      throw new Error(data.errMsg);
-    },
-    {
-      suspense: true,
-    },
-  );
-
-  return data;
-}

+ 1 - 4
packages/app/src/pages/home/index.tsx

@@ -6,13 +6,10 @@ import Menu from './menu';
 import User from './user';
 import {Link, Outlet} from 'react-router-dom';
 import {Auth, ErrorBoundary, Footer, Jurisdiction} from '@components';
-import {useMenu} from './hooks';
 import HomeSkeleton from './Skeleton';
 import {HOME_PATH} from '@routes';
 
 const Home: FC = function() {
-  const menus = useMenu();
-
   return (
     <Layout className='container'>
       <Layout.Header className={css.header}>
@@ -24,7 +21,7 @@ const Home: FC = function() {
 
       <Layout>
         <Layout.Sider className={css.sliderBackground}>
-          <Menu menus={menus!} />
+          <Menu />
         </Layout.Sider>
 
         <Layout.Content>

+ 39 - 1
packages/app/src/pages/home/menu/hooks.tsx

@@ -1,10 +1,48 @@
+import {getRoleMenu} from '@apis';
 import {HOME_PATH} from '@routes';
 import {menuStore} from '@stores';
-import {ParseMenuType} from '@utils';
+import {useQuery} from '@tanstack/react-query';
+import {ParseMenuType, sortMenu} from '@utils';
 import {useEffect, useState} from 'react';
 import {useLocation, useNavigate} from 'react-router-dom';
 import {useStore} from 'zustand';
 
+export function useMenu() {
+  const setMenus = useStore(menuStore, state => state.setMenu);
+
+  const {data} = useQuery(
+    [getRoleMenu.name],
+    async function() {
+      const data = await getRoleMenu();
+
+      if (data.msg === '200') {
+        const finalMenu = [
+          {
+            id: '-1',
+            name: '首页',
+            url: HOME_PATH,
+            pId: '0',
+            page: 1,
+            limit: 0,
+            orderBy: '0',
+          },
+          ...data.data,
+        ];
+
+        setMenus(finalMenu);
+        return sortMenu(finalMenu);
+      }
+
+      throw new Error(data.errMsg);
+    },
+    {
+      suspense: true,
+    },
+  );
+
+  return data!;
+}
+
 export function useOpenKey(menus: ParseMenuType[]) {
   const navigate = useNavigate();
   const {pathname} = useLocation();

+ 3 - 7
packages/app/src/pages/home/menu/index.tsx

@@ -1,13 +1,9 @@
 import {FC} from 'react';
 import {Menu as AntdMenu} from 'antd';
-import {useOpenKey} from './hooks';
-import {ParseMenuType} from '@utils';
+import {useMenu, useOpenKey} from './hooks';
 
-type Props = {
-  menus: ParseMenuType[]
-};
-
-const Menu: FC<Props> = function({menus}) {
+const Menu: FC = function() {
+  const menus = useMenu();
   const [{openKeys, current}, {onOpenChange, onClick}] = useOpenKey(menus);
 
   return (