登录按钮防重复点击:任务运行期间禁用开始登录和重试按钮
This commit is contained in:
@@ -36,6 +36,7 @@ export default function LoginTasksPage() {
|
||||
const [selectedIds, setSelectedIds] = useState<number[]>([]);
|
||||
const [tasks, setTasks] = useState<LoginTaskItem[]>([]);
|
||||
const [loading, setLoading] = useState(false);
|
||||
const [starting, setStarting] = useState(false);
|
||||
const [batchId, setBatchId] = useState<string | null>(null);
|
||||
const [selectedTags, setSelectedTags] = useState<string[]>([]);
|
||||
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={<PlayCircleOutlined />}
|
||||
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={<ReloadOutlined />}
|
||||
onClick={handleRetryFailed}
|
||||
loading={loading}
|
||||
disabled={starting}
|
||||
>
|
||||
重试失败 ({failedCount})
|
||||
</Button>
|
||||
|
||||
Reference in New Issue
Block a user