import { BellOutlined } from '@ant-design/icons'; import { Layout } from 'antd'; import React, { Suspense, useEffect, useMemo } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import { Outlet, useNavigate } from 'react-router'; import { useLocation } from 'react-router-dom'; import Icon1 from '../../assets/icons/icon.png'; import { SUBTITLE, TITLE, config } from '../../config'; import { findLeafMenu, findMenu } from '../../models/auth/menu'; import { Dispatch, RootState } from '../../models/store'; import { getParameter } from '../../utils/utils'; import HeaderUser from './HeaderUser'; import SiderMenu from './SiderMenu'; import BottomMenu from './BottomMenu'; import './style.less'; const { Header, Content, Sider } = Layout; const DashboardLayout: React.FC = () => { const location = useLocation(); const navigate = useNavigate(); const pathname = location.pathname; const dispatch = useDispatch(); const user = useSelector((state: RootState) => state.auth.user); const menu = useSelector((state: RootState) => state.auth.menu); useEffect(() => { const token = getParameter('token') || 'demo'; if (token) { dispatch.auth.regByToken(token).then(() => { dispatch.auth.loadMenu(undefined); }); } else { if (user == null) { navigate('/login') } else { dispatch.auth.loadMenu(undefined); } } }, []); useEffect(() => { if (user === null) { } if (user === 'failed') { // 跳到主页面 return; } }, [user]); const [menuIndexes, leafMenu] = useMemo(() => [ findMenu(menu, pathname), findLeafMenu(menu, pathname), ], [menu, pathname]); useEffect(() => { if (leafMenu) { document.title = '小玉潭水库 · ' + leafMenu.title } }, [leafMenu]); if (user === 'failed') { return null; } return ( {/*
... {TITLE}-{SUBTITLE}
*/} {/*{ menuIndexes.length > 1 ? ( ) : null }*/}
咸丰
32℃多云
2023-10-13    星期五
|
10:30:00
1 ? 'content-root content-box' : 'content-root-fs content-box'}> { user ? ( ) : null }
) }; export default DashboardLayout