// src/layouts/BasicLayout.tsx import React from 'react'; import ProLayout, { PageContainer } from '@ant-design/pro-layout'; import { Link, useLocation, useIntl, useHistory } from 'umi'; import defaultSettings from '../../config/defaultSettings'; import routes from '../../config/router.config'; // 引入你的自定义路由结构 import { ConfigProvider, Breadcrumb } from 'antd'; import HeaderComponent from './Header'; import IconFont from '@/components/IconFont/IconFont'; const MenuRender = (item: any, isSubMenu: boolean) => { const intl = useIntl(); return ( <> {isSubMenu ? ( {intl.formatMessage({ id: `menu.${item.name}` || '' })} ) : ( {intl.formatMessage({ id: `menu.${item.name}` || '' })} )} ); }; const BreadcrumbRender = (breadcrumb: any, intl: any, history: any) => { const breadcrumbRoutes = breadcrumb?.routes; return ( { history.push('/'); }} style={{ cursor: 'pointer' }} > {intl.formatMessage({ id: 'menu.首页' })} {breadcrumbRoutes?.map((item: any) => { return ( {intl.formatMessage({ id: `menu.${item.breadcrumbName}` || '' })} ); })} ); }; const BasicLayout: React.FC = (props) => { const location = useLocation(); const intl = useIntl(); const history = useHistory(); return ( { return MenuRender(menuItemProps, true); }} menuItemRender={(item, dom) => { return MenuRender(item, false); }} location={location} fixSiderbar layout="mix" headerRender={() => { return ; }} > BreadcrumbRender(breadcrumb, intl, history), }} > {props.children} ); }; export default BasicLayout;