From 670ef45c32b4da928d69fd41f5d4c83e70c3e43e Mon Sep 17 00:00:00 2001 From: Momentry Studio Date: Fri, 9 Oct 2026 23:02:58 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20LibraryView=20forma?= =?UTF-8?q?tDate=20=E5=87=BD=E6=95=B0=E6=97=A5=E6=9C=9F=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E5=8C=96=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 问题: - Library 页面渲染时崩溃 - Console 错误: RangeError: Invalid time value - formatDate 函数未处理无效日期 原因: - formatDate(date) 没有 null/undefined 检查 - new Date(date) 对无效字符串创建 Invalid Date - Invalid Date.toISOString() 抛出 RangeError 修复: - 添加 null/undefined 检查 - 添加 try-catch 错误处理 - 验证日期有效性后才格式化 测试: - ✅ TypeScript 编译通过 - ✅ Vite build 成功 - ✅ 错误处理正确 影响: - Library 页面正常显示文件列表 - 无效日期显示为空字符串 - 不会崩溃 --- src/views/LibraryView.vue | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/views/LibraryView.vue b/src/views/LibraryView.vue index ab24ac8..7acd1be 100644 --- a/src/views/LibraryView.vue +++ b/src/views/LibraryView.vue @@ -1015,7 +1015,14 @@ function formatSize(bytes: number) { } function formatDate(date: string) { - return new Date(date).toISOString().slice(0, 10) + if (!date) return '' + try { + const d = new Date(date) + if (isNaN(d.getTime())) return '' + return d.toISOString().slice(0, 10) + } catch { + return '' + } } function formatRelativeTime(isoString: string | undefined): string {