import React, { useState, useEffect } from 'react';
import Header from './components/Layouts/Header';
import MapContainer from './components/Map/MapContainer';
import SiQuan from './components/Business/SiQuan';
import SiZhi from './components/Business/SiZhi';
import SiYu from './components/Business/SiYu';
import SiGuan from './components/Business/SiGuan';
import './index.less';
const HomePage = () => {
const [activeMenu, setActiveMenu] = useState('siquan');
const [userInfo, setUserInfo] = useState({ userName: '系统管理员' });
const [isReady, setIsReady] = useState(false);
useEffect(() => {
// 兼容 Hash 路由模式:参数可能跟在 # 后面 (例如 /#/home?token=...)
let queryString = window.location.search;
if (window.location.hash.indexOf('?') > -1) {
queryString = window.location.hash.split('?')[1];
}
const params = new URLSearchParams(queryString);
const token = params.get('access_token');
const userName = params.get('userName');
const userId = params.get('userId');
if (token) localStorage.setItem('access_token', token);
if (userId) localStorage.setItem('userId', userId);
// 优先使用 URL 参数中的用户名,其次读取本地存储,最后默认
const finalUserName = userName || localStorage.getItem('userName') || '系统管理员';
if (userName) localStorage.setItem('userName', userName);
setUserInfo({ userName: finalUserName });
setIsReady(true);
}, []);
const renderContent = () => {
if (!isReady) return null; //状态提升,防止跳过来的参数,不能及时渲染
switch (activeMenu) {
case 'siquan':
return