import React, { useState, useEffect } from 'react'; import { Link, Outlet, useNavigate } from 'umi'; import { Layout as AntLayout, Input, Button, Avatar, Dropdown, Menu, Space, Badge } from 'antd'; import { SearchOutlined, UserOutlined, BellOutlined, BookOutlined, MessageOutlined } from '@ant-design/icons'; import { userApi } from '../services/api'; import type { User } from '../services/mockData'; import styles from './index.less'; const { Header, Content } = AntLayout; export default function Layout() { const navigate = useNavigate(); const [searchValue, setSearchValue] = useState(''); const [user, setUser] = useState(null); const [loading, setLoading] = useState(false); useEffect(() => { // 获取用户信息 userApi.getCurrentUser().then(res => { if (res.success) { setUser(res.data); } }); }, []); const handleSearch = () => { if (searchValue.trim()) { navigate(`/?search=${encodeURIComponent(searchValue)}`); } }; const handleKeyPress = (e: React.KeyboardEvent) => { if (e.key === 'Enter') { handleSearch(); } }; const userMenu = ( 个人中心 设置 退出登录 ); return (
{/* Logo区域 */}
AutoBeeAgent
{/* 搜索框 */}
setSearchValue(e.target.value)} onKeyPress={handleKeyPress} prefix={} // suffix={ // // } />
{/* 用户信息 */}
{user ? (
} /> {user.name}
) : ( )}
{/* 浮动客服按钮 */}
); }