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,
};
};