import React, {Suspense, useEffect} from 'react'; import {Link, Outlet, useLocation, useNavigate} from "react-router-dom"; import {Breadcrumb, Button, Dropdown, Layout, Menu, Popconfirm} from "antd"; import { CodeOutlined, DashboardOutlined, DesktopOutlined, DownOutlined, LogoutOutlined, UserOutlined } from "@ant-design/icons"; import {getCurrentUser, isAdmin} from "../service/permission"; import FooterComponent from "./FooterComponent"; import accountApi from "../api/account"; import LogoWithName from "../images/logo-with-name.png"; import Landing from "../components/Landing"; import {setTitle} from "../hook/title"; const {Header, Content} = Layout; const breadcrumbNameMap = { '/my-asset': '我的资产', '/my-command': '我的指令', '/my-info': '个人中心', }; const UserLayout = () => { const location = useLocation(); const navigate = useNavigate(); let _current = location.pathname.split('/')[1]; useEffect(() => { setTitle(breadcrumbNameMap['/' + _current]); }, [_current]); const pathSnippets = location.pathname.split('/').filter(i => i); const extraBreadcrumbItems = pathSnippets.map((_, index) => { const url = `/${pathSnippets.slice(0, index + 1).join('/')}`; return ( {breadcrumbNameMap[url]} ); }); const breadcrumbItems = [ 首页 , ].concat(extraBreadcrumbItems); const menu = ( { isAdmin() && 后台管理 } { await accountApi.logout(); navigate('/login'); }} okText="确定" cancelText="取消" placement="left" > 退出登录 ); return (
logo
{getCurrentUser()['nickname']}  
{breadcrumbItems}
}>
); } export default UserLayout;