From ece0a06a80415d61c9e540e118cef5d32a57a9b7 Mon Sep 17 00:00:00 2001 From: 24kycj <1637269896@qq.com> Date: Mon, 1 Jun 2026 11:59:44 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=88=86=E5=8F=91=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=EF=BC=9A=E6=A0=BC=E5=BC=8F=E5=8C=96=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E4=B8=8E=E5=8A=A0=E5=AF=86=E7=8B=97=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 格式化类型改为 Fat32 / exFat / NTFS - 加密狗改为「不限次数」勾选,提交 dongle_install_count 为 255 或 0 Co-authored-by: Cursor --- .../renderer/src/constants/selectOptions.ts | 6 +++--- app/src/renderer/src/stores/distributeForm.ts | 10 ++++------ app/src/renderer/src/utils/buildJobConfig.ts | 18 ++++++++++++++---- .../src/views/DistributeConfigView.vue | 19 ++----------------- 4 files changed, 23 insertions(+), 30 deletions(-) diff --git a/app/src/renderer/src/constants/selectOptions.ts b/app/src/renderer/src/constants/selectOptions.ts index 090b35d..27de8ac 100644 --- a/app/src/renderer/src/constants/selectOptions.ts +++ b/app/src/renderer/src/constants/selectOptions.ts @@ -9,9 +9,9 @@ export const COPY_TYPE_OPTIONS: SelectOption[] = [ ] export const FORMAT_TYPE_OPTIONS: SelectOption[] = [ - { label: '不格式化', value: 'none' }, - { label: '快速格式化', value: 'fat' }, - { label: '完全格式化', value: 'ntfs' } + { label: 'Fat32', value: 'fat32' }, + { label: 'exFat', value: 'exfat' }, + { label: 'NTFS', value: 'ntfs' } ] export const PRIORITY_OPTIONS: SelectOption[] = [ diff --git a/app/src/renderer/src/stores/distributeForm.ts b/app/src/renderer/src/stores/distributeForm.ts index 2d36518..1ab2c43 100644 --- a/app/src/renderer/src/stores/distributeForm.ts +++ b/app/src/renderer/src/stores/distributeForm.ts @@ -24,9 +24,8 @@ export interface DistributeFormState { templateFile: string templatePreview: TemplatePreview | null copyType: 0 | 1 - formatType: 'none' | 'fat' | 'ntfs' - dongleEnabled: boolean - dongleMode: -1 | 0 | 255 + formatType: 'fat32' | 'exfat' | 'ntfs' + dongleUnlimited: boolean priority: 'low' | 'mid' | 'high' ribbonType: 'any' | 'YMCKO' | 'YMCK' generateIso: boolean @@ -45,9 +44,8 @@ function createDefaultForm(): DistributeFormState { templateFile: '', templatePreview: null, copyType: 0, - formatType: 'none', - dongleEnabled: true, - dongleMode: -1, + formatType: 'fat32', + dongleUnlimited: false, priority: 'low', ribbonType: 'any', generateIso: false, diff --git a/app/src/renderer/src/utils/buildJobConfig.ts b/app/src/renderer/src/utils/buildJobConfig.ts index 04df431..8a63fd5 100644 --- a/app/src/renderer/src/utils/buildJobConfig.ts +++ b/app/src/renderer/src/utils/buildJobConfig.ts @@ -7,12 +7,22 @@ export interface BuildJobOptions { udfFile?: string } +function formatFileForApi(formatType: DistributeFormState['formatType']): string { + switch (formatType) { + case 'exfat': + return 'exFAT' + case 'ntfs': + return 'NTFS' + default: + return 'FAT32' + } +} + export function buildJobConfig( form: DistributeFormState, opts: BuildJobOptions ): Record { const { hasCopy, hasPrint } = resolveJobTasks(form) - const needFormat = form.formatType !== 'none' const body: Record = { task_id: opts.taskId, @@ -22,10 +32,10 @@ export function buildJobConfig( label: form.volumeLabel || 'DATA_CARD', file_type: String(form.copyType), zone_type: form.copyType === 1 ? '1' : '0', - need_format: needFormat, - format_file: form.formatType === 'ntfs' ? 'NTFS' : 'FAT', + need_format: true, + format_file: formatFileForApi(form.formatType), disk_size: '16GB', - dongle_install_count: form.dongleEnabled ? form.dongleMode : -1 + dongle_install_count: form.dongleUnlimited ? 255 : 0 } if (hasCopy) { diff --git a/app/src/renderer/src/views/DistributeConfigView.vue b/app/src/renderer/src/views/DistributeConfigView.vue index f09570b..eb4744f 100644 --- a/app/src/renderer/src/views/DistributeConfigView.vue +++ b/app/src/renderer/src/views/DistributeConfigView.vue @@ -45,15 +45,8 @@ @@ -182,14 +175,6 @@ function onClear(): void { notify.info('已清空,已恢复初始状态') } -const dongleHint = computed(() => { - if (!formStore.dongleEnabled) return '(未启用)' - if (formStore.dongleMode === -1) return '(-1 无加密狗)' - if (formStore.dongleMode === 0) return '(0 一次性)' - if (formStore.dongleMode === 255) return '(255 无限次)' - return '(0=一次 255=无限)' -}) - async function addPath(): Promise { const r = await dialogOpenDirectory() if (!r.ok) {