From dd81ac029801f4dc47b53664cbc94dc258d49195 Mon Sep 17 00:00:00 2001 From: huangxd- <649924757@qq.com> Date: Thu, 20 Nov 2025 23:02:32 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96youku=E6=BA=90=E7=BB=BC?= =?UTF-8?q?=E8=89=BA=E9=9B=86=E6=A0=87=E9=A2=98=EF=BC=8C=E5=8F=96=E6=B6=88?= =?UTF-8?q?=E5=80=92=E5=BA=8F=E6=8E=92=E5=BA=8F=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=97=A5=E6=9C=9F=E5=92=8C=E9=9B=86=E6=A0=87=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- danmu_api/sources/youku.js | 33 ++------------------------------- 1 file changed, 2 insertions(+), 31 deletions(-) diff --git a/danmu_api/sources/youku.js b/danmu_api/sources/youku.js index 749223d..bbd8da9 100644 --- a/danmu_api/sources/youku.js +++ b/danmu_api/sources/youku.js @@ -275,35 +275,6 @@ export default class YoukuSource extends BaseSource { _processAndFormatEpisodes(rawEpisodes, mediaType = 'variety') { let filteredEpisodes = [...rawEpisodes]; - // 综艺节目需要倒序处理 - if (mediaType === 'variety') { - log("info", `[Youku] 检测到综艺节目,进行倒序处理`); - filteredEpisodes = filteredEpisodes.reverse(); - - // 检测特殊格式 "第N期:上/中/下" - const specialFormatPattern = /第\d+期\s*[::]\s*[上中下]\s*[::]/; - const hasSpecialFormat = filteredEpisodes.some(ep => { - const displayName = ep.displayName || ep.title; - return specialFormatPattern.test(displayName); - }); - - if (hasSpecialFormat) { - log("info", `[Youku] 检测到综艺特殊格式 '第N期:上/中/下',进行智能过滤`); - // 只保留"上"或没有标记的分集 - const finalFiltered = []; - for (const ep of filteredEpisodes) { - const displayName = ep.displayName || ep.title; - const match = displayName.match(/第(\d+)期\s*[::]\s*([上中下])/); - if (!match || match[2] === '上') { - finalFiltered.push(ep); - } else { - log("debug", `[Youku] 过滤掉综艺分段: ${displayName}`); - } - } - filteredEpisodes = finalFiltered; - } - } - // 格式化分集标题 const formattedEpisodes = filteredEpisodes.map((ep, index) => { const episodeIndex = index + 1; @@ -342,9 +313,9 @@ export default class YoukuSource extends BaseSource { if (mediaType === 'variety') { const periodMatch = cleanDisplayName.match(/第(\d+)期/); if (periodMatch) { - return `第${periodMatch[1]}期`; + return `第${periodMatch[1]}期 ${ep.published?.split(' ')[0] ?? ''} ${cleanDisplayName}`; } else { - return `第${episodeIndex}期`; + return `第${episodeIndex}期 ${ep.published?.split(' ')[0] ?? ''} ${cleanDisplayName}`; } }