From 5d4586aed89d3dc8b76762d8feec251014a7dcfe Mon Sep 17 00:00:00 2001 From: Nano Date: Mon, 13 Apr 2020 19:41:23 +0800 Subject: [PATCH] fix: fetch PV or CM from other section (#4415) --- lib/routes/bilibili/bangumi.js | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/lib/routes/bilibili/bangumi.js b/lib/routes/bilibili/bangumi.js index f40cd10fc4..14e51c8bf8 100644 --- a/lib/routes/bilibili/bangumi.js +++ b/lib/routes/bilibili/bangumi.js @@ -15,17 +15,36 @@ module.exports = async (ctx) => { } const { data } = await got.get(`https://api.bilibili.com/pgc/web/season/section?season_id=${seasonid}`); + let episodes = []; + if (data.result.main_section && data.result.main_section.episodes) { + episodes = episodes.concat( + data.result.main_section.episodes.map((item) => ({ + title: `第${item.title}话 ${item.long_title}`, + description: ``, + link: `https://www.bilibili.com/bangumi/play/ep${item.id}`, + })) + ); + } + + if (data.result.section) { + data.result.section.forEach((section) => { + if (section.episodes) { + episodes = episodes.concat( + section.episodes.map((item) => ({ + title: `${item.title} ${item.long_title}`, + description: ``, + link: `https://www.bilibili.com/bangumi/play/ep${item.id}`, + })) + ); + } + }); + } + ctx.state.data = { title: mediaData.mediaInfo.title, link: `https://www.bilibili.com/bangumi/media/md${mediaData.mediaInfo.media_id}/`, image: mediaData.mediaInfo.cover, description: mediaData.mediaInfo.evaluate, - item: - data.result.main_section.episodes && - data.result.main_section.episodes.map((item, index) => ({ - title: `第${index + 1}话 ${item.long_title}`, - description: ``, - link: `https://www.bilibili.com/bangumi/play/ep${item.id}`, - })), + item: episodes, }; };