import { Layout, Menu, theme, Avatar, Space, Dropdown, Button } from 'antd'; import { HomeOutlined, UserOutlined, SafetyOutlined, ApartmentOutlined, BellOutlined, SettingOutlined, MenuFoldOutlined, MenuUnfoldOutlined, LogoutOutlined, } from '@ant-design/icons'; import { useNavigate } from 'react-router-dom'; import { useAppStore } from '../stores/app'; import { useAuthStore } from '../stores/auth'; const { Header, Sider, Content, Footer } = Layout; const menuItems = [ { key: '/', icon: , label: '首页' }, { key: '/users', icon: , label: '用户管理' }, { key: '/roles', icon: , label: '权限管理' }, { key: '/organizations', icon: , label: '组织架构' }, { key: '/settings', icon: , label: '系统设置' }, ]; export default function MainLayout({ children }: { children: React.ReactNode }) { const { sidebarCollapsed, toggleSidebar } = useAppStore(); const { user, logout } = useAuthStore(); const { token } = theme.useToken(); const navigate = useNavigate(); const userMenuItems = [ { key: 'logout', icon: , label: '退出登录', onClick: async () => { await logout(); navigate('/login'); }, }, ]; return (
{sidebarCollapsed ? 'E' : 'ERP Platform'}
navigate(key)} />
{children}
); }