diff --git a/lib/routes/bilibili/bangumi.js b/lib/routes/bilibili/bangumi.js
index 9891a93169..4c8ff84465 100644
--- a/lib/routes/bilibili/bangumi.js
+++ b/lib/routes/bilibili/bangumi.js
@@ -1,36 +1,31 @@
const got = require('@/utils/got');
module.exports = async (ctx) => {
- const seasonid = ctx.params.seasonid;
+ let seasonid = ctx.params.seasonid;
const mediaid = ctx.params.mediaid;
- let data;
+ let mediaData;
if (mediaid) {
const response = await got({
method: 'get',
url: `https://www.bilibili.com/bangumi/media/md${mediaid}`,
});
- data = JSON.parse(response.data.match(/window\.__INITIAL_STATE__=([\s\S]+);\(function\(\)/)[1]) || {};
- } else if (seasonid) {
- const response = await got({
- method: 'get',
- url: `https://bangumi.bilibili.com/anime/${seasonid}`,
- });
- data = JSON.parse(response.data.match(/window\.__INITIAL_STATE__=([\s\S]+);\(function\(\)/)[1]) || {};
+ mediaData = JSON.parse(response.data.match(/window\.__INITIAL_STATE__=([\s\S]+);\(function\(\)/)[1]) || {};
+ seasonid = mediaData.mediaInfo.season_id;
}
+ const { data } = await got.get(`https://api.bilibili.com/pgc/web/season/section?season_id=${seasonid}`);
ctx.state.data = {
- title: data.mediaInfo.chn_name,
- link: `https://www.bilibili.com/bangumi/media/md${data.mediaInfo.media_id}/`,
- image: data.mediaInfo.cover,
- description: data.mediaInfo.evaluate,
+ title: mediaData.mediaInfo.chn_name,
+ link: `https://www.bilibili.com/bangumi/media/md${mediaData.mediaInfo.media_id}/`,
+ image: mediaData.mediaInfo.cover,
+ description: mediaData.mediaInfo.evaluate,
item:
- data.mediaInfo.episodes &&
- data.mediaInfo.episodes.reverse().map((item) => ({
- title: `第${item.index}话 ${item.index_title}`,
- description: `更新时间:${item.pub_real_time}
`,
- pubDate: new Date(item.pub_real_time).toUTCString(),
- link: `https://www.bilibili.com/bangumi/play/ep${item.ep_id}`,
+ 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}`,
})),
};
};