优化 ui

This commit is contained in:
yml2213
2026-06-22 14:21:39 +08:00
parent b08f0a647d
commit 627f06d0a0
14 changed files with 322 additions and 61 deletions
+8 -1
View File
@@ -29,6 +29,7 @@ export default function LoginTasksPage() {
const [loading, setLoading] = useState(false);
const [batchId, setBatchId] = useState<string | null>(null);
const [logs, setLogs] = useState<{ level: string; message: string }[]>([]);
const [wsConnected, setWsConnected] = useState(false);
const wsRef = useRef<WebSocket | null>(null);
const user = getUser();
@@ -75,13 +76,19 @@ export default function LoginTasksPage() {
const wsUrl = `ws://${window.location.hostname}:8000/api/login/ws/login/${result.batch_id}`;
const ws = new WebSocket(wsUrl);
wsRef.current = ws;
setWsConnected(true);
ws.onmessage = (event) => {
const msg = JSON.parse(event.data);
if (msg.level === 'heartbeat') return;
if (msg.level === 'result') return;
setLogs((prev) => [...prev, msg]);
};
ws.onclose = () => {
wsRef.current = null;
setWsConnected(false);
};
ws.onerror = () => {
setWsConnected(false);
};
} catch (e: any) {
message.error(e.message);
@@ -183,7 +190,7 @@ export default function LoginTasksPage() {
bodyStyle={{ maxHeight: 500, overflow: 'auto', fontFamily: 'monospace', fontSize: 12 }}
>
{logs.length === 0 ? (
<Spin spinning={!!batchId} size="small" />
<Spin spinning={wsConnected} size="small" />
) : (
logs.map((log, i) => (
<div