import { useState, useEffect } from 'react'; import { Input, Button, Space, Dropdown, Avatar } from 'antd'; import { SearchOutlined, CameraOutlined, MenuOutlined, UserOutlined, LogoutOutlined, ShoppingOutlined } from '@ant-design/icons'; import { getCurrentUser, isLoggedIn, logout } from '../api/auth'; import LoginModal from './LoginModal'; import RegisterModal from './RegisterModal'; import './Header.css'; const Header = () => { const [searchValue, setSearchValue] = useState(''); const [loginOpen, setLoginOpen] = useState(false); const [registerOpen, setRegisterOpen] = useState(false); const [user, setUser] = useState(null); useEffect(() => { if (isLoggedIn()) { setUser(getCurrentUser()); } }, []); const menuItems = [ { key: 'type', label: '类型', children: [ { key: 'poster', label: '海报' }, { key: 'banner', label: 'Banner' }, { key: 'ecommerce', label: '电商' }, { key: 'illustration', label: '插画' }, ]}, { key: 'theme', label: '主题', children: [ { key: 'realestate', label: '地产' }, { key: 'medical', label: '医美' }, { key: 'travel', label: '旅游' }, { key: 'tech', label: '科技' }, ]}, { key: 'style', label: '风格', children: [ { key: 'chinese', label: '中式' }, { key: 'premium', label: '高端' }, { key: 'creative', label: '创意' }, { key: 'minimalist', label: '清新' }, ]}, ]; const handleOpenLogin = () => { setRegisterOpen(false); setLoginOpen(true); }; const handleOpenRegister = () => { setLoginOpen(false); setRegisterOpen(true); }; const handleCloseLogin = () => { setLoginOpen(false); }; const handleCloseRegister = () => { setRegisterOpen(false); }; const handleLogout = () => { logout(); }; const userMenuItems = [ { key: 'orders', label: '我的订单', icon: }, { key: 'logout', label: '退出登录', icon: , onClick: handleLogout } ]; return ( <> 图汇 DESIGN006.COM e.preventDefault()}> 目录 热门 最新 图片 字体 setSearchValue(e.target.value)} prefix={} suffix={} /> {user ? ( } style={{ marginRight: 8 }} className="ant-avatar" /> {user.nickname || user.phone} ) : ( <> 注册 登录 > )} > ); }; export default Header;