deploy-ease-platform/frontend/src/layouts/BasicLayout.tsx
2025-11-06 10:56:17 +08:00

38 lines
988 B
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import React, { useState } from 'react';
import { Outlet } from 'react-router-dom';
import { AppMenu } from './AppMenu';
import { Layout, LayoutContent, Main } from '@/components/ui/layout';
import Header from './components/Header';
/**
* 基础布局组件
*
* 重构改进:
* 1. 移除菜单加载逻辑(已在 main.tsx 中预加载)
* 2. 移除 window.location.reload() 刷新逻辑
* 3. 拆分组件Header、TimeWeather、UserPanel
* 4. 简化代码,提升可维护性
*/
const BasicLayout: React.FC = () => {
const [openKeys, setOpenKeys] = useState<string[]>([]);
// 处理菜单展开/收起
const handleOpenChange = (keys: string[]) => {
setOpenKeys(keys);
};
return (
<Layout>
<AppMenu openKeys={openKeys} onOpenChange={handleOpenChange} />
<LayoutContent>
<Header />
<Main className="bg-white">
<Outlet />
</Main>
</LayoutContent>
</Layout>
);
};
export default BasicLayout;