From f61794592fe76b09f45c91457483c8662464e219 Mon Sep 17 00:00:00 2001 From: yml2213 Date: Wed, 24 Jun 2026 16:38:28 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E5=BD=95=E6=8C=89=E9=92=AE=E9=98=B2?= =?UTF-8?q?=E9=87=8D=E5=A4=8D=E7=82=B9=E5=87=BB=EF=BC=9A=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E8=BF=90=E8=A1=8C=E6=9C=9F=E9=97=B4=E7=A6=81=E7=94=A8=E5=BC=80?= =?UTF-8?q?=E5=A7=8B=E7=99=BB=E5=BD=95=E5=92=8C=E9=87=8D=E8=AF=95=E6=8C=89?= =?UTF-8?q?=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/frontend/src/pages/LoginTasksPage.tsx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/web/frontend/src/pages/LoginTasksPage.tsx b/web/frontend/src/pages/LoginTasksPage.tsx index 97bdb19..7f9d48a 100644 --- a/web/frontend/src/pages/LoginTasksPage.tsx +++ b/web/frontend/src/pages/LoginTasksPage.tsx @@ -36,6 +36,7 @@ export default function LoginTasksPage() { const [selectedIds, setSelectedIds] = useState([]); const [tasks, setTasks] = useState([]); const [loading, setLoading] = useState(false); + const [starting, setStarting] = useState(false); const [batchId, setBatchId] = useState(null); const [selectedTags, setSelectedTags] = useState([]); const [concurrency, setConcurrency] = useState(() => { @@ -136,6 +137,7 @@ export default function LoginTasksPage() { message.warning('请选择账号'); return; } + setStarting(true); setLoading(true); try { const result = await loginApi.createBatch({ @@ -146,11 +148,12 @@ export default function LoginTasksPage() { message.success(`已创建登录任务,共 ${result.count} 个账号`); connectLogs(`/api/login/ws/login/${result.batch_id}`, { - onClose: () => setBatchId(null), - onResult: () => setBatchId(null), + onClose: () => { setBatchId(null); setStarting(false); }, + onResult: () => { setBatchId(null); setStarting(false); }, }); } catch (e: unknown) { message.error(getErrorMessage(e)); + setStarting(false); } finally { setLoading(false); } @@ -343,7 +346,7 @@ export default function LoginTasksPage() { icon={} loading={loading} onClick={handleBatchLogin} - disabled={selectedIds.length === 0 || wsConnected} + disabled={selectedIds.length === 0 || starting} size="small" > 开始登录 @@ -380,6 +383,7 @@ export default function LoginTasksPage() { icon={} onClick={handleRetryFailed} loading={loading} + disabled={starting} > 重试失败 ({failedCount})