增加另一个登录接口

This commit is contained in:
yml2213
2026-06-26 17:22:51 +08:00
parent f736ef4f4c
commit d7d7c0cbb0
12 changed files with 1739 additions and 73 deletions
+21 -1
View File
@@ -51,12 +51,16 @@ export default function LoginTasksPage() {
const v = localStorage.getItem('login_max_login_retries');
return v !== null ? Math.max(0, Number(v) || 0) : 0;
});
const [apiStrategy, setApiStrategy] = useState(() => {
return localStorage.getItem('login_api_strategy') || 'wgapi';
});
const [settingsOpen, setSettingsOpen] = useState(false);
// 值变化时自动持久化
useEffect(() => { localStorage.setItem('login_concurrency', String(concurrency)); }, [concurrency]);
useEffect(() => { localStorage.setItem('login_max_total_time', String(maxTotalTime)); }, [maxTotalTime]);
useEffect(() => { localStorage.setItem('login_max_login_retries', String(maxLoginRetries)); }, [maxLoginRetries]);
useEffect(() => { localStorage.setItem('login_api_strategy', apiStrategy); }, [apiStrategy]);
const [selectedRowKeys, setSelectedRowKeys] = useState<number[]>([]);
const { logs, connected: wsConnected, connect: connectLogs } = useWebSocketLogs();
const { can } = usePermissions();
@@ -156,6 +160,7 @@ export default function LoginTasksPage() {
concurrency,
max_login_retries: maxLoginRetries,
max_total_time: maxTotalTime,
api_strategy: apiStrategy,
});
setBatchId(result.batch_id);
message.success(`已创建登录任务,共 ${result.count} 个账号`);
@@ -342,7 +347,7 @@ export default function LoginTasksPage() {
{accounts.filter((a) => selectedTags.includes((a.tag || '').trim())).length}
</span>
)}
<Tooltip title={`登录设置(并发 ${concurrency},超时 ${maxTotalTime || '∞'}s,重试 ${maxLoginRetries || '∞'}`}>
<Tooltip title={`登录设置(接口 ${apiStrategy}并发 ${concurrency},超时 ${maxTotalTime || '∞'}s,重试 ${maxLoginRetries || '∞'}`}>
<Button
icon={<SettingOutlined />}
onClick={() => setSettingsOpen(true)}
@@ -435,6 +440,7 @@ export default function LoginTasksPage() {
setConcurrency(3);
setMaxTotalTime(300);
setMaxLoginRetries(0);
setApiStrategy('wgapi');
}}
>
@@ -445,6 +451,20 @@ export default function LoginTasksPage() {
]}
>
<Form layout="vertical" style={{ marginTop: 8 }}>
<Form.Item
label="登录接口"
tooltip="选择登录使用的接口版本。wgapi 为新版(推荐),iframe 为旧版备选。"
>
<Select
value={apiStrategy}
onChange={setApiStrategy}
style={{ width: 200 }}
options={[
{ value: 'wgapi', label: 'wgapi(新版,推荐)' },
{ value: 'iframe', label: 'iframe(旧版备选)' },
]}
/>
</Form.Item>
<Form.Item
label="并发数"
tooltip="同时登录的账号数。1 为顺序执行,最多 10。"