import React, { useEffect, useState } from 'react' import { BrowserRouter as Router, Routes, Route, Link } from 'react-router-dom' import { useDispatch, useSelector } from 'react-redux' import ConfigPanel from './components/ConfigPanel' import ConfigGuide from './components/ConfigGuide' import TradeList from './components/TradeList' import StatsDashboard from './components/StatsDashboard' import AdminDashboard from './components/AdminDashboard' import Recommendations from './components/Recommendations' import LogMonitor from './components/LogMonitor' import AccountSelector from './components/AccountSelector' import GlobalConfig from './components/GlobalConfig' import Login from './components/Login' import { api, clearAuthToken } from './services/api' import { setCurrentUser, setUsers, selectCurrentUser, selectUsers, selectIsAdmin, } from './store/appSlice' import './App.css' function App() { const dispatch = useDispatch() const currentUser = useSelector(selectCurrentUser) const isAdmin = useSelector(selectIsAdmin) const [checking, setChecking] = useState(true) const refreshMe = async () => { try { const u = await api.me() dispatch(setCurrentUser(u)) // 不再加载用户列表,去掉用户切换功能 } catch (e) { dispatch(setCurrentUser(null)) } finally { setChecking(false) } } useEffect(() => { refreshMe() // eslint-disable-next-line react-hooks/exhaustive-deps }, []) if (checking) { return (