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