From 8948df45ba451c7021843108b193e3d46e74f702 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8F=B2=E6=82=A6?= Date: Thu, 8 Jan 2026 14:37:42 +0800 Subject: [PATCH] =?UTF-8?q?feat(handler):=20=E4=B8=BA=E6=AD=8C=E6=9B=B2?= =?UTF-8?q?=E5=A4=84=E7=90=86=E6=B7=BB=E5=8A=A0=E6=97=A5=E5=BF=97=E8=AE=B0?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在buildPageUrl和mapTunehubResult函数中添加日志记录,方便追踪URL生成过程 在search函数中添加日志记录搜索结果和过滤项 --- backend/src/handler/songs.js | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/backend/src/handler/songs.js b/backend/src/handler/songs.js index 4e5ad8d..2015b33 100644 --- a/backend/src/handler/songs.js +++ b/backend/src/handler/songs.js @@ -7,19 +7,26 @@ function buildPageUrl(source, songId) { if (!source || !songId) { return ''; } + logger.info(`[buildPageUrl] source=${source}, songId=${songId}`); // 使用 TuneHub 格式的页面 URL if (source === 'netease') { - return `https://music-dl.sayqz.com/?source=${source}&id=${songId}`; + const url = `https://music-dl.sayqz.com/?source=${source}&id=${songId}`; + logger.info(`[buildPageUrl] Generated TuneHub URL: ${url}`); + return url; } if (source === 'qq') { - return `https://music-dl.sayqz.com/?source=${source}&id=${songId}`; + const url = `https://music-dl.sayqz.com/?source=${source}&id=${songId}`; + logger.info(`[buildPageUrl] Generated TuneHub URL: ${url}`); + return url; } + logger.warn(`[buildPageUrl] Unknown source: ${source}`); return ''; } function mapTunehubResult(item) { const playUrl = item.url || buildSongUrl(item.platform, item.id); const pageUrl = buildPageUrl(item.platform, item.id); + logger.info(`[mapTunehubResult] item=${JSON.stringify(item)}, pageUrl=${pageUrl}, playUrl=${playUrl}`); return { songId: item.id || '', songName: item.name || '', @@ -92,9 +99,11 @@ async function search(req, res) { const globalConfig = await configManager.getGlobalConfig(); const enabledSources = globalConfig && Array.isArray(globalConfig.sources) ? globalConfig.sources : []; + logger.info(`[search] searchData.results = ${JSON.stringify(searchData.results, null, 2)}`); const songs = searchData.results .filter(item => { if (!item.platform) { + logger.warn(`[search] Filtered out item without platform: ${JSON.stringify(item)}`); return false; } if (enabledSources.length === 0) {