From 1c0c024b9aa6b579bd768e09afd6933928e10c0b Mon Sep 17 00:00:00 2001 From: admin <362324317@qq.com> Date: Fri, 15 May 2026 07:05:03 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=BD=AC=E5=AD=98=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E6=96=87=E4=BB=B6=E5=A4=A7=E5=B0=8F,=20?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E5=B1=95=E7=A4=BA=E4=BD=BF=E7=94=A8=E8=B4=A6?= =?UTF-8?q?=E5=8F=B7+=E6=96=87=E4=BB=B6=E5=A4=A7=E5=B0=8F+=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - quark/baidu 驱动 saveFromShare 返回 fileSize 总大小 - cloud.service.ts 写入 file_size 字段(非null时转字符串) - 详情页新增文件大小展示(formatFileSize 自动格式化) - 详情页时间改为 formatTime(yyyy-MM-dd HH:mm:ss) - SaveRecords 时间格式: 05-15 → 2026-05-15 --- packages/backend/src/cloud/cloud.service.ts | 4 ++-- packages/backend/src/cloud/drivers/quark-storage.ts | 6 ++++++ packages/frontend/src/pages/admin/SaveRecords.vue | 4 ++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/backend/src/cloud/cloud.service.ts b/packages/backend/src/cloud/cloud.service.ts index 887c5bc..9020f13 100644 --- a/packages/backend/src/cloud/cloud.service.ts +++ b/packages/backend/src/cloud/cloud.service.ts @@ -155,7 +155,7 @@ async function doSaveFromShare(shareUrl: string, cloudType: string, sourceTitle? const startTime = Date.now(); try { - let driverResult: { success: boolean; message: string; shareUrl?: string; sharePwd?: string; folderName?: string; fileCount?: number; folderCount?: number; originalFolderName?: string }; + let driverResult: { success: boolean; message: string; shareUrl?: string; sharePwd?: string; folderName?: string; fileCount?: number; folderCount?: number; fileSize?: number; originalFolderName?: string }; switch (cloudType) { case 'quark': { @@ -194,7 +194,7 @@ async function doSaveFromShare(shareUrl: string, cloudType: string, sourceTitle? ).run( cloudType, sourceTitle || driverResult.folderName || null, shareUrl, cloudType, driverResult.shareUrl || null, driverResult.sharePwd || null, - null, driverResult.fileCount || 0, driverResult.folderCount || 0, + driverResult.fileSize == null ? null : String(driverResult.fileSize), driverResult.fileCount || 0, driverResult.folderCount || 0, durationMs, driverResult.success ? 'success' : 'failed', driverResult.success ? null : driverResult.message, driverResult.folderName || null, driverResult.originalFolderName || null, diff --git a/packages/backend/src/cloud/drivers/quark-storage.ts b/packages/backend/src/cloud/drivers/quark-storage.ts index e71b7fd..2b945ae 100644 --- a/packages/backend/src/cloud/drivers/quark-storage.ts +++ b/packages/backend/src/cloud/drivers/quark-storage.ts @@ -28,6 +28,7 @@ export async function saveFromShare( renamed?: string[]; fileCount?: number; folderCount?: number; + fileSize?: number; originalFolderName?: string; }> { try { @@ -203,6 +204,10 @@ export async function saveFromShare( } } + // Calculate total file size + const allFiles = topDir && childFiles ? childFiles : topFiles; + const fileSize = allFiles.reduce((sum, f) => sum + (Number(f.size) || 0), 0); + const renameMsg = renamed.length > 0 ? `,已重命名 ${renamed.length} 个文件` : ''; @@ -218,6 +223,7 @@ export async function saveFromShare( renamed: renamed.map(r => `${r.original} → ${r.renamed}`), fileCount, folderCount, + fileSize, originalFolderName, }; } catch (err: any) { diff --git a/packages/frontend/src/pages/admin/SaveRecords.vue b/packages/frontend/src/pages/admin/SaveRecords.vue index 21af7dc..efaf27e 100755 --- a/packages/frontend/src/pages/admin/SaveRecords.vue +++ b/packages/frontend/src/pages/admin/SaveRecords.vue @@ -150,7 +150,7 @@
时间 - {{ row.created_at }} + {{ formatTime(row.created_at) }}
@@ -333,7 +333,7 @@ function formatTime(t: string): string { const d = new Date(ts) if (isNaN(d.getTime())) return t const pad = (n: number) => String(n).padStart(2, '0') - return `${pad(d.getMonth() + 1)}-${pad(d.getDate())} ${pad(d.getHours())}:${pad(d.getMinutes())}:${pad(d.getSeconds())}` + return `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())} ${pad(d.getHours())}:${pad(d.getMinutes())}:${pad(d.getSeconds())}` } function formatDuration(ms: number): string {