import { Layout, Badge, Avatar, Dropdown, Space } from 'antd' import { useNavigate } from 'react-router-dom' import { MenuFoldOutlined, MenuUnfoldOutlined, BellOutlined, QuestionCircleOutlined, FileTextOutlined, CustomerServiceOutlined, UserOutlined, } from '@ant-design/icons' import useUserStore from '@/stores/userStore' import Toast from '@/components/Toast/Toast' import headerMenuData from '../../data/headerMenuData.json' import './AppHeader.css' const { Header } = Layout // 图标映射 const iconMap = { QuestionCircleOutlined: , FileTextOutlined: , CustomerServiceOutlined: , } function AppHeader({ collapsed, onToggle }) { const navigate = useNavigate() const { user, logout } = useUserStore() // 用户下拉菜单 const userMenuItems = [ { key: 'profile', label: '个人中心', }, { key: 'settings', label: '账户设置', }, { type: 'divider', }, { key: 'logout', label: '退出登录', }, ] const handleUserMenuClick = ({ key }) => { if (key === 'logout') { logout() Toast.success('退出成功', '您已安全退出') navigate('/login') } else if (key === 'profile') { navigate('/profile') } else if (key === 'settings') { Toast.info('开发中', '账户设置功能正在开发中') } } const handleHeaderMenuClick = (key) => { console.log('Header menu clicked:', key) if (key === 'support') { Toast.info('开发中', '支持功能正在开发中') } } return ( {/* 左侧:Logo + 折叠按钮 */} {/* Logo 区域 */} NEX Docus {/* 折叠按钮 */} {collapsed ? : } {/* 右侧:功能按钮 + 用户信息 */} {/* 功能图标 */} {/* 动态渲染 header 菜单 */} {headerMenuData.map((item) => ( handleHeaderMenuClick(item.key)} > {iconMap[item.icon]} {item.label} ))} {/* 消息中心 */} {/* 用户下拉菜单 */} } /> {user?.nickname || user?.username || 'User'} ) } export default AppHeader