冲突解决
This commit is contained in:
@@ -64,6 +64,7 @@ import { getMenuConfigs, getCreditProductCatalog, getPaymentMethods, createRecha
|
||||
import type { CreditProduct, CreditProductCatalog } from '../../types';
|
||||
import NotificationPopup from '../NotificationPopup';
|
||||
import ActivityBanner from './ActivityBanner';
|
||||
import KickedOutModal from '../KickedOutModal';
|
||||
import './AppLayout.css';
|
||||
|
||||
|
||||
@@ -498,6 +499,11 @@ const AppLayout: React.FC = () => {
|
||||
}
|
||||
return logo;
|
||||
});
|
||||
const [siteInfoLoading, setSiteInfoLoading] = useState(!localStorage.getItem('siteInfo'));
|
||||
const [bannerVisible, setBannerVisible] = useState(false);
|
||||
const [kickedOutVisible, setKickedOutVisible] = useState(false);
|
||||
|
||||
// 资源存储容量(从 getUser().resource_capacity 获取)
|
||||
const [resourceCapacity, setResourceCapacity] = useState<{
|
||||
enabled: boolean;
|
||||
usedBytes: number;
|
||||
@@ -511,6 +517,13 @@ const AppLayout: React.FC = () => {
|
||||
const [isMobile, setIsMobile] = useState(false);
|
||||
const [operationManualUrl, setOperationManualUrl] = useState('');
|
||||
|
||||
// 监听"被踢出"事件 — 单设备登录互斥
|
||||
useEffect(() => {
|
||||
const handler = () => setKickedOutVisible(true);
|
||||
window.addEventListener('kicked-out', handler);
|
||||
return () => window.removeEventListener('kicked-out', handler);
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
getSiteInfo().then(info => {
|
||||
const name = info.siteName || '智创';
|
||||
@@ -1024,7 +1037,8 @@ const AppLayout: React.FC = () => {
|
||||
flexDirection: 'column',
|
||||
overflow: 'hidden',
|
||||
}}>
|
||||
<ActivityBanner onVisibilityChange={() => {}} />
|
||||
<ActivityBanner onVisibilityChange={(v) => setBannerVisible(v)} />
|
||||
<KickedOutModal visible={kickedOutVisible} />
|
||||
<div style={{ display: 'flex', position: 'relative', padding: 4, gap: 12, flex: 1, minHeight: 0, overflow: 'hidden' }}>
|
||||
<div className="desktop-sidebar" style={{
|
||||
width: sidebarW, position: 'sticky', top: 4, alignSelf: 'flex-start', zIndex: 100,
|
||||
|
||||
Reference in New Issue
Block a user