@@ -577,7 +577,7 @@ function extractPlatformFromTitle(title) {
577577}
578578
579579// 根据集数匹配episode(优先使用集标题中的集数,其次使用episodeNumber,最后使用数组索引)
580- function findEpisodeByNumber ( filteredEpisodes , targetEpisode , platform = null ) {
580+ function findEpisodeByNumber ( filteredEpisodes , episode , targetEpisode , platform = null ) {
581581 if ( ! filteredEpisodes || filteredEpisodes . length === 0 ) {
582582 return null ;
583583 }
@@ -599,7 +599,7 @@ function findEpisodeByNumber(filteredEpisodes, targetEpisode, platform = null) {
599599 // 策略1:从集标题中提取集数进行匹配
600600 for ( const ep of platformEpisodes ) {
601601 const extractedNumber = extractEpisodeNumberFromTitle ( ep . episodeTitle ) ;
602- if ( extractedNumber === targetEpisode ) {
602+ if ( episode === targetEpisode && extractedNumber === targetEpisode ) {
603603 log ( "info" , `Found episode by title number: ${ ep . episodeTitle } (extracted: ${ extractedNumber } )` ) ;
604604 return ep ;
605605 }
@@ -711,7 +711,7 @@ async function matchAniAndEpByAi(season, episode, year, searchData, title, req,
711711 log ( "info" , "过滤后的集标题" , filteredEpisodes . map ( episode => episode . episodeTitle ) ) ;
712712
713713 // 匹配集数 (注意:findEpisodeByNumber 已增强支持模糊平台匹配)
714- filteredEpisode = findEpisodeByNumber ( filteredEpisodes , episode ) ;
714+ filteredEpisode = findEpisodeByNumber ( filteredEpisodes , episode , episode ) ;
715715 } else {
716716 // 电影模式逻辑
717717 if ( bangumiData . bangumi . episodes . length > 0 ) {
@@ -856,7 +856,7 @@ async function matchAniAndEp(season, episode, year, searchData, title, req, plat
856856 }
857857
858858 // 匹配集数 (注意:findEpisodeByNumber 已增强支持模糊平台匹配)
859- matchedEpisode = findEpisodeByNumber ( filteredEpisodes , targetEpisode , platform ) ;
859+ matchedEpisode = findEpisodeByNumber ( filteredEpisodes , episode , targetEpisode , platform ) ;
860860 } else {
861861 // 电影模式逻辑
862862 if ( bangumiData . bangumi . episodes . length > 0 ) {
@@ -943,7 +943,7 @@ async function fallbackMatchAniAndEp(searchData, req, season, episode, year, res
943943 }
944944
945945 // 使用新的集数匹配策略
946- const matchedEpisode = findEpisodeByNumber ( filteredEpisodes , targetEpisode , null ) ;
946+ const matchedEpisode = findEpisodeByNumber ( filteredEpisodes , episode , targetEpisode , null ) ;
947947 if ( matchedEpisode ) {
948948 resEpisode = matchedEpisode ;
949949 resAnime = anime ;
@@ -1640,7 +1640,7 @@ export async function getComment(path, queryFormat, segmentFlag, clientIp, inclu
16401640
16411641 if ( clientIp ) {
16421642 const lastSearch = getLastSearch ( clientIp ) ;
1643- if ( lastSearch && lastSearch . episodeId === commentId && lastSearch . title && lastSearch . season && lastSearch . episode && episodeTitle ) {
1643+ if ( lastSearch && lastSearch . title && lastSearch . season && lastSearch . episode && episodeTitle ) {
16441644 lastTitle = lastSearch . title ;
16451645 lastSeason = lastSearch . season ;
16461646 offset = `${ lastSearch . episode } :${ episodeTitle } ` ;
0 commit comments