()
| 694 | } |
| 695 | |
| 696 | function buildCurrentRegistrationConfig() { |
| 697 | const selectedValue = elements.emailService.value; |
| 698 | if (!selectedValue) { |
| 699 | throw new Error('请选择一个邮箱服务'); |
| 700 | } |
| 701 | |
| 702 | const [emailServiceType, serviceId] = selectedValue.split(':'); |
| 703 | const baseConfig = { |
| 704 | email_service_type: emailServiceType, |
| 705 | reg_mode: isOutlookBatchMode ? 'outlook_batch' : (isBatchMode ? 'batch' : 'single'), |
| 706 | auto_upload_cpa: elements.autoUploadCpa ? elements.autoUploadCpa.checked : false, |
| 707 | cpa_service_ids: elements.autoUploadCpa && elements.autoUploadCpa.checked ? getSelectedServiceIds(elements.cpaServiceSelect) : [], |
| 708 | auto_upload_sub2api: elements.autoUploadSub2api ? elements.autoUploadSub2api.checked : false, |
| 709 | sub2api_service_ids: elements.autoUploadSub2api && elements.autoUploadSub2api.checked ? getSelectedServiceIds(elements.sub2apiServiceSelect) : [], |
| 710 | auto_upload_codex2api: elements.autoUploadCodex2api ? elements.autoUploadCodex2api.checked : false, |
| 711 | codex2api_service_ids: elements.autoUploadCodex2api && elements.autoUploadCodex2api.checked ? getSelectedServiceIds(elements.codex2apiServiceSelect) : [], |
| 712 | auto_upload_new_api: elements.autoUploadNewApi ? elements.autoUploadNewApi.checked : false, |
| 713 | new_api_service_ids: elements.autoUploadNewApi && elements.autoUploadNewApi.checked ? getSelectedServiceIds(elements.newApiServiceSelect) : [], |
| 714 | filter_only_access_token_accounts: elements.filterOnlyAccessTokenAccounts ? elements.filterOnlyAccessTokenAccounts.checked : true, |
| 715 | }; |
| 716 | |
| 717 | if (isOutlookBatchMode) { |
| 718 | const selectedIds = []; |
| 719 | document.querySelectorAll('.outlook-account-checkbox:checked').forEach(cb => { |
| 720 | selectedIds.push(parseInt(cb.value)); |
| 721 | }); |
| 722 | return { |
| 723 | ...baseConfig, |
| 724 | email_service_type: 'outlook_batch', |
| 725 | service_ids: selectedIds, |
| 726 | skip_registered: elements.outlookSkipRegistered.checked, |
| 727 | interval_min: parseInt(elements.outlookIntervalMin.value) || 5, |
| 728 | interval_max: parseInt(elements.outlookIntervalMax.value) || 30, |
| 729 | concurrency: Math.min(50, Math.max(1, parseInt(elements.outlookConcurrencyCount.value) || 3)), |
| 730 | mode: elements.outlookConcurrencyMode.value || 'pipeline', |
| 731 | }; |
| 732 | } |
| 733 | |
| 734 | if (serviceId && serviceId !== 'default') { |
| 735 | baseConfig.email_service_id = parseInt(serviceId); |
| 736 | } |
| 737 | |
| 738 | if (isBatchMode) { |
| 739 | return { |
| 740 | ...baseConfig, |
| 741 | batch_count: parseInt(elements.batchCount.value) || 1, |
| 742 | interval_min: parseInt(elements.intervalMin.value) || 5, |
| 743 | interval_max: parseInt(elements.intervalMax.value) || 30, |
| 744 | concurrency: Math.min(50, Math.max(1, parseInt(elements.concurrencyCount.value) || 1)), |
| 745 | mode: elements.concurrencyMode.value || 'pipeline', |
| 746 | }; |
| 747 | } |
| 748 | |
| 749 | return baseConfig; |
| 750 | } |
| 751 | |
| 752 | function buildScheduleConfig() { |
| 753 | const triggerType = elements.scheduleTriggerType.value; |
no test coverage detected