From 160339dfb5cc8c9a28ec6291e16831758f07d741 Mon Sep 17 00:00:00 2001 From: kjqwer <2990346238@qq.com> Date: Tue, 26 Aug 2025 09:26:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E4=BB=B6=E6=A3=80=E6=B5=8B=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/services/repository.js | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/backend/services/repository.js b/backend/services/repository.js index ff03507..553026d 100644 --- a/backend/services/repository.js +++ b/backend/services/repository.js @@ -462,10 +462,26 @@ class RepositoryService { // 检查是否是目标作品目录(包含数字ID) const artworkMatch = artworkEntry.name.match(/^(\d+)_(.+)$/) if (artworkMatch && artworkMatch[1] === artworkId.toString()) { - // 检查作品目录中是否有图片文件 const artworkPath = path.join(artistPath, artworkEntry.name) + + // 检查作品信息文件 - 这是最可靠的判断标准 + const infoPath = path.join(artworkPath, 'artwork_info.json') + try { + await fs.access(infoPath) + } catch (error) { + // 信息文件不存在,认为未下载 + return false + } + + // 检查是否有图片文件 const files = await this.scanArtworkFiles(artworkPath) - return files.length > 0 + if (files.length === 0) { + // 有信息文件但没有图片文件,认为未下载 + return false + } + + // 有信息文件且有图片文件,认为已下载 + return true } } }