()
| 2286 | |
| 2287 | // 处理 Outlook 批量注册 |
| 2288 | async function handleOutlookBatchRegistration() { |
| 2289 | // 重置批量任务状态 |
| 2290 | batchCompleted = false; |
| 2291 | batchFinalStatus = null; |
| 2292 | displayedLogs.clear(); // 清空日志去重集合 |
| 2293 | toastShown = false; // 重置 toast 标志 |
| 2294 | |
| 2295 | // 获取选中的账户 |
| 2296 | const selectedIds = []; |
| 2297 | document.querySelectorAll('.outlook-account-checkbox:checked').forEach(cb => { |
| 2298 | selectedIds.push(parseInt(cb.value)); |
| 2299 | }); |
| 2300 | |
| 2301 | if (selectedIds.length === 0) { |
| 2302 | toast.error('请选择至少一个 Outlook / Hotmail 账户'); |
| 2303 | return; |
| 2304 | } |
| 2305 | |
| 2306 | const intervalMin = parseInt(elements.outlookIntervalMin.value) || 5; |
| 2307 | const intervalMax = parseInt(elements.outlookIntervalMax.value) || 30; |
| 2308 | const skipRegistered = elements.outlookSkipRegistered.checked; |
| 2309 | const concurrency = parseInt(elements.outlookConcurrencyCount.value) || 3; |
| 2310 | const mode = elements.outlookConcurrencyMode.value || 'pipeline'; |
| 2311 | |
| 2312 | // 禁用开始按钮 |
| 2313 | elements.startBtn.disabled = true; |
| 2314 | elements.cancelBtn.disabled = false; |
| 2315 | |
| 2316 | // 清空日志 |
| 2317 | elements.consoleLog.innerHTML = ''; |
| 2318 | |
| 2319 | const requestData = { |
| 2320 | service_ids: selectedIds, |
| 2321 | skip_registered: skipRegistered, |
| 2322 | interval_min: intervalMin, |
| 2323 | interval_max: intervalMax, |
| 2324 | concurrency: Math.min(50, Math.max(1, concurrency)), |
| 2325 | mode: mode, |
| 2326 | auto_upload_cpa: elements.autoUploadCpa ? elements.autoUploadCpa.checked : false, |
| 2327 | cpa_service_ids: elements.autoUploadCpa && elements.autoUploadCpa.checked ? getSelectedServiceIds(elements.cpaServiceSelect) : [], |
| 2328 | auto_upload_sub2api: elements.autoUploadSub2api ? elements.autoUploadSub2api.checked : false, |
| 2329 | sub2api_service_ids: elements.autoUploadSub2api && elements.autoUploadSub2api.checked ? getSelectedServiceIds(elements.sub2apiServiceSelect) : [], |
| 2330 | auto_upload_codex2api: elements.autoUploadCodex2api ? elements.autoUploadCodex2api.checked : false, |
| 2331 | codex2api_service_ids: elements.autoUploadCodex2api && elements.autoUploadCodex2api.checked ? getSelectedServiceIds(elements.codex2apiServiceSelect) : [], |
| 2332 | auto_upload_new_api: elements.autoUploadNewApi ? elements.autoUploadNewApi.checked : false, |
| 2333 | new_api_service_ids: elements.autoUploadNewApi && elements.autoUploadNewApi.checked ? getSelectedServiceIds(elements.newApiServiceSelect) : [], |
| 2334 | filter_only_access_token_accounts: elements.filterOnlyAccessTokenAccounts ? elements.filterOnlyAccessTokenAccounts.checked : true, |
| 2335 | }; |
| 2336 | |
| 2337 | addLog('info', `[系统] 正在启动 Outlook 批量注册 (${selectedIds.length} 个账户)...`); |
| 2338 | |
| 2339 | try { |
| 2340 | const data = await api.post('/registration/outlook-batch', requestData); |
| 2341 | |
| 2342 | if (data.to_register === 0) { |
| 2343 | addLog('warning', '[警告] 所有选中的邮箱都已注册,无需重复注册'); |
| 2344 | toast.warning('所有选中的邮箱都已注册'); |
| 2345 | resetButtons(); |
no test coverage detected