From 0e6230612ce599433868a25f93ab61b692284090 Mon Sep 17 00:00:00 2001 From: yuyx <237899745@qq.com> Date: Sun, 30 Nov 2025 14:56:26 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20=E5=8A=A0=E5=BC=BA=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=90=8D=E8=A7=A3=E7=A0=81=E7=9A=84=E7=A9=BA=E5=80=BC?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 后端decodeHtmlEntities添加空字符串默认值 - 前端decodeHtmlEntities非字符串时返回空字符串 - getFileDisplayName增强类型检查 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- backend/server.js | 2 +- frontend/app.js | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/backend/server.js b/backend/server.js index 445b9a0..66e78e5 100644 --- a/backend/server.js +++ b/backend/server.js @@ -2279,7 +2279,7 @@ app.get('/api/files', authMiddleware, async (req, res) => { return { name: item.name, - displayName: decodeHtmlEntities(item.name), + displayName: decodeHtmlEntities(item.name || ''), type: item.type === 'd' ? 'directory' : 'file', size: item.size, sizeFormatted: formatFileSize(item.size), diff --git a/frontend/app.js b/frontend/app.js index 02755a4..8308ce3 100644 --- a/frontend/app.js +++ b/frontend/app.js @@ -2017,7 +2017,7 @@ handleDragLeave(e) { // HTML实体解码(前端兜底,防止已实体化的文件名显示乱码) decodeHtmlEntities(str) { - if (typeof str !== 'string') return str; + if (typeof str !== 'string') return ''; const entityMap = { amp: '&', lt: '<', @@ -2052,9 +2052,11 @@ handleDragLeave(e) { getFileDisplayName(file) { if (!file) return ''; - const base = file.displayName || file.name || ''; + const base = (typeof file.displayName === 'string' && file.displayName !== '') + ? file.displayName + : (typeof file.name === 'string' ? file.name : ''); const decoded = this.decodeHtmlEntities(base); - return decoded || base; + return decoded || base || ''; }, openShare(url) {