diff --git a/docs/social-media.md b/docs/social-media.md index a3bb1a1696..ae01471050 100644 --- a/docs/social-media.md +++ b/docs/social-media.md @@ -160,7 +160,7 @@ - + | 全站 | 动画 | 国创相关 | 音乐 | 舞蹈 | 游戏 | 科技 | 生活 | 鬼畜 | 时尚 | 娱乐 | 影视 | | ---- | ---- | -------- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | diff --git a/lib/router.js b/lib/router.js index 4933a71cc4..461f5469c8 100644 --- a/lib/router.js +++ b/lib/router.js @@ -115,7 +115,7 @@ router.get('/bilibili/fav/:uid/:fid', require('./routes/bilibili/fav')); router.get('/bilibili/blackboard', require('./routes/bilibili/blackboard')); router.get('/bilibili/mall/new', require('./routes/bilibili/mallNew')); router.get('/bilibili/mall/ip/:id', require('./routes/bilibili/mallIP')); -router.get('/bilibili/ranking/:rid?/:day?', require('./routes/bilibili/ranking')); +router.get('/bilibili/ranking/:rid?/:day?/:arc_type?', require('./routes/bilibili/ranking')); router.get('/bilibili/user/channel/:uid/:cid', require('./routes/bilibili/userChannel')); router.get('/bilibili/topic/:topic', require('./routes/bilibili/topic')); router.get('/bilibili/audio/:id', require('./routes/bilibili/audio')); diff --git a/lib/routes/bilibili/ranking.js b/lib/routes/bilibili/ranking.js index 0c20a322dd..849b7ddd5b 100644 --- a/lib/routes/bilibili/ranking.js +++ b/lib/routes/bilibili/ranking.js @@ -3,12 +3,17 @@ const axios = require('../../utils/axios'); module.exports = async (ctx) => { const rid = ctx.params.rid || '0'; const day = ctx.params.day || '3'; - + const arc_type = ctx.params.arc_type || '1'; + const arc_type1 = arc_type === '0' ? '全部投稿' : '近期投稿'; + const rid_1 = ['0', '1', '168', '3', '129', '4', '36', '160', '119', '155', '5', '181']; + const rid_2 = ['全站', '动画', '国创相关', '音乐', '舞蹈', '游戏', '科技', '生活', '鬼畜', '时尚', '娱乐', '影视']; + const rid_i = rid_1.indexOf(arc_type); + const rid_type = rid_2[rid_i]; const response = await axios({ method: 'get', - url: `https://api.bilibili.com/x/web-interface/ranking?jsonp=jsonp&rid=${rid}&day=${day}&type=1&arc_type=0&callback=__jp0`, + url: `https://api.bilibili.com/x/web-interface/ranking?jsonp=jsonp&rid=${rid}&day=${day}&type=1&arc_type=${arc_type}&callback=__jp0`, headers: { - Referer: `https://www.bilibili.com/ranking/all/${rid}/0/${day}`, + Referer: `https://www.bilibili.com/ranking/all/${rid}/${arc_type}/${day}`, }, }); @@ -24,11 +29,11 @@ module.exports = async (ctx) => { } ctx.state.data = { - title: `bilibili ${day}日排行榜-${rid}`, + title: `bilibili ${day}日排行榜-${rid_type}-${arc_type1}`, link: `https://www.bilibili.com/ranking/all/${rid}/0/${day}`, item: list.map((item) => ({ title: item.title, - description: `作者:${item.author}
播放量:${item.play}
时长:${item.duration}
`, + description: `作者:${item.author}
播放量:${item.play}
时长:${item.duration}
综合得分:${item.pts}
弹幕:${item.video_review}
`, link: `https://www.bilibili.com/video/av${item.aid}`, })), };