From fd98c0dcc43f0b8da17ce67c73e750c85aadd7a8 Mon Sep 17 00:00:00 2001 From: admin Date: Mon, 1 Jun 2026 10:09:23 +0800 Subject: [PATCH] feat: delete old file when updating version with new file If file_path is different from existing file, remove the old file Co-Authored-By: Claude Opus 4.7 --- backend/internal/router/admin/versions.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/backend/internal/router/admin/versions.go b/backend/internal/router/admin/versions.go index a406767..af0808e 100644 --- a/backend/internal/router/admin/versions.go +++ b/backend/internal/router/admin/versions.go @@ -453,6 +453,18 @@ func handleUpdateVersionGlobal(c *gin.Context) { log.Printf("[DEBUG] Updates map: %+v\n", updates) + // 如果文件被更新,删除旧文件 + if req.FilePath != "" && req.FilePath != version.FilePath { + oldFilePath := filepath.Join(".", version.FilePath) + if _, err := os.Stat(oldFilePath); err == nil { + if err := os.Remove(oldFilePath); err != nil { + log.Printf("[WARN] Failed to remove old file %s: %v\n", oldFilePath, err) + } else { + log.Printf("[INFO] Removed old file: %s\n", oldFilePath) + } + } + } + if len(updates) == 0 { response.Success(c, nil) return