feat: 转存记录记录文件大小, 详情展示使用账号+文件大小+时间格式
- quark/baidu 驱动 saveFromShare 返回 fileSize 总大小 - cloud.service.ts 写入 file_size 字段(非null时转字符串) - 详情页新增文件大小展示(formatFileSize 自动格式化) - 详情页时间改为 formatTime(yyyy-MM-dd HH:mm:ss) - SaveRecords 时间格式: 05-15 → 2026-05-15
This commit is contained in:
@@ -155,7 +155,7 @@ async function doSaveFromShare(shareUrl: string, cloudType: string, sourceTitle?
|
|||||||
const startTime = Date.now();
|
const startTime = Date.now();
|
||||||
|
|
||||||
try {
|
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) {
|
switch (cloudType) {
|
||||||
case 'quark': {
|
case 'quark': {
|
||||||
@@ -194,7 +194,7 @@ async function doSaveFromShare(shareUrl: string, cloudType: string, sourceTitle?
|
|||||||
).run(
|
).run(
|
||||||
cloudType, sourceTitle || driverResult.folderName || null, shareUrl, cloudType,
|
cloudType, sourceTitle || driverResult.folderName || null, shareUrl, cloudType,
|
||||||
driverResult.shareUrl || null, driverResult.sharePwd || null,
|
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',
|
durationMs, driverResult.success ? 'success' : 'failed',
|
||||||
driverResult.success ? null : driverResult.message,
|
driverResult.success ? null : driverResult.message,
|
||||||
driverResult.folderName || null, driverResult.originalFolderName || null,
|
driverResult.folderName || null, driverResult.originalFolderName || null,
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ export async function saveFromShare(
|
|||||||
renamed?: string[];
|
renamed?: string[];
|
||||||
fileCount?: number;
|
fileCount?: number;
|
||||||
folderCount?: number;
|
folderCount?: number;
|
||||||
|
fileSize?: number;
|
||||||
originalFolderName?: string;
|
originalFolderName?: string;
|
||||||
}> {
|
}> {
|
||||||
try {
|
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
|
const renameMsg = renamed.length > 0
|
||||||
? `,已重命名 ${renamed.length} 个文件`
|
? `,已重命名 ${renamed.length} 个文件`
|
||||||
: '';
|
: '';
|
||||||
@@ -218,6 +223,7 @@ export async function saveFromShare(
|
|||||||
renamed: renamed.map(r => `${r.original} → ${r.renamed}`),
|
renamed: renamed.map(r => `${r.original} → ${r.renamed}`),
|
||||||
fileCount,
|
fileCount,
|
||||||
folderCount,
|
folderCount,
|
||||||
|
fileSize,
|
||||||
originalFolderName,
|
originalFolderName,
|
||||||
};
|
};
|
||||||
} catch (err: any) {
|
} catch (err: any) {
|
||||||
|
|||||||
@@ -150,7 +150,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="detail-cell">
|
<div class="detail-cell">
|
||||||
<span class="detail-label">时间</span>
|
<span class="detail-label">时间</span>
|
||||||
<code class="detail-code">{{ row.created_at }}</code>
|
<code class="detail-code">{{ formatTime(row.created_at) }}</code>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- Row 5: 错误信息(整行) -->
|
<!-- Row 5: 错误信息(整行) -->
|
||||||
@@ -333,7 +333,7 @@ function formatTime(t: string): string {
|
|||||||
const d = new Date(ts)
|
const d = new Date(ts)
|
||||||
if (isNaN(d.getTime())) return t
|
if (isNaN(d.getTime())) return t
|
||||||
const pad = (n: number) => String(n).padStart(2, '0')
|
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 {
|
function formatDuration(ms: number): string {
|
||||||
|
|||||||
Reference in New Issue
Block a user