From 875a6858fe07a3b972ce2a78068d70fd4ca7bed5 Mon Sep 17 00:00:00 2001 From: YGXB_net Date: Mon, 29 Jun 2026 17:06:46 +0800 Subject: [PATCH] =?UTF-8?q?fix(uploader):=20=E4=BF=AE=E5=A4=8D=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E6=B8=85=E7=A9=BA=E9=80=BB=E8=BE=91=E5=B9=B6=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E4=B8=8A=E4=BC=A0=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除无需提示直接清空文件的功能,统一通过用户确认处理 - 修正条件判断逻辑,将 ClearFilesNoPrompt 的取反操作改为显式比较 - 调整代码结构,将文件复制到tmp目录的逻辑移到确认处理之后 - 更新取消上传的处理方式,当用户未确认时直接返回并提示等待 - 简化文件复制和清空的执行流程,提高代码可读性 --- internal/uploader/uploader.go | 66 +++++++++++++---------------------- 1 file changed, 24 insertions(+), 42 deletions(-) diff --git a/internal/uploader/uploader.go b/internal/uploader/uploader.go index ac7cbf5..b9f8f8f 100644 --- a/internal/uploader/uploader.go +++ b/internal/uploader/uploader.go @@ -121,28 +121,8 @@ func uploadData(ctx context.Context, logChan *chan string) { return } - //是否向用户提示清空文件,并复制文件到tmp - if config.APPConfig.ClearFilesNoPrompt { - //不用提示直接复制文件到tmp - for _, p := range f { - select { - case <-ctx.Done(): - return - default: - } - - err := copyFile(p, "./tmp/"+filepath.Base(p)) - if err != nil { - AddLog(logChan, "复制文件失败:"+err.Error()) - } else { - files = append(files, "./tmp/"+filepath.Base(p)) - err := os.Truncate(p, 0) - if err != nil { - AddLog(logChan, "清空文件失败:"+err.Error()) - } - } - } - } else { + //向用户提示要清空文件,获取确认 + if config.APPConfig.ClearFilesNoPrompt == false { //提示用户 wailsruntime.EventsEmit(ctx, "clear-files", f) @@ -152,30 +132,32 @@ func uploadData(ctx context.Context, logChan *chan string) { confirm <- optionalData[0].(bool) }) - if <-confirm { - for _, p := range f { - select { - case <-ctx.Done(): - return - default: - } - - err := copyFile(p, "./tmp/"+filepath.Base(p)) - if err != nil { - AddLog(logChan, "复制文件失败:"+err.Error()) - } else { - files = append(files, "./tmp/"+filepath.Base(p)) - err := os.Truncate(p, 0) - if err != nil { - AddLog(logChan, "清空文件失败:"+err.Error()) - } - } - } - } else { + if <-confirm == false { + //取消上传 AddLog(logChan, "已取消上传,1分钟后再运行") return } } + + //复制文件到tmp目录 + for _, p := range f { + select { + case <-ctx.Done(): + return + default: + } + + err := copyFile(p, "./tmp/"+filepath.Base(p)) + if err != nil { + AddLog(logChan, "复制文件失败:"+err.Error()) + } else { + files = append(files, "./tmp/"+filepath.Base(p)) + err := os.Truncate(p, 0) + if err != nil { + AddLog(logChan, "清空文件失败:"+err.Error()) + } + } + } } //检测到文件