feat: 新增 bilibili 每周必看 (#3641)

This commit is contained in:
tmr
2019-12-30 11:38:23 +08:00
committed by DIYgod
parent 4946fddeab
commit b96830d069
3 changed files with 41 additions and 0 deletions
+4
View File
@@ -254,6 +254,10 @@ Tiny Tiny RSS 会给所有 iframe 元素添加 `sandbox="allow-scripts"` 属性
<Route author="hoilc" example="/bilibili/readlist/25611" path="/bilibili/readlist/:listid" :paramsDesc="['文集 id, 可在专栏文集 URL 中找到']"/>
### B 站每周必看
<Route author="ttttmr" example="/bilibili/weekly" path="/bilibili/weekly/:disableEmbed?" :paramsDesc="['默认为开启内嵌视频, 任意值为关闭']"/>
## Disqus
### 评论
+1
View File
@@ -65,6 +65,7 @@ router.get('/bilibili/vsearch/:kw/:order?/:disableEmbed?', require('./routes/bil
router.get('/bilibili/followings/video/:uid/:disableEmbed?', require('./routes/bilibili/followings_video'));
router.get('/bilibili/followings/article/:uid', require('./routes/bilibili/followings_article'));
router.get('/bilibili/readlist/:listid', require('./routes/bilibili/readlist'));
router.get('/bilibili/weekly', require('./routes/bilibili/weekly_recommend'));
// bangumi
router.get('/bangumi/calendar/today', require('./routes/bangumi/calendar/today'));
+36
View File
@@ -0,0 +1,36 @@
const got = require('@/utils/got');
const utils = require('./utils');
module.exports = async (ctx) => {
const disableEmbed = ctx.params.disableEmbed;
const status_response = await got({
method: 'get',
url: 'https://app.bilibili.com/x/v2/show/popular/selected/series?type=weekly_selected',
headers: {
Referer: 'https://www.bilibili.com/h5/weekly-recommend',
},
});
const weekly_number = status_response.data.data[0].number;
const weekly_name = status_response.data.data[0].name;
const response = await got({
method: 'get',
url: `https://app.bilibili.com/x/v2/show/popular/selected?type=weekly_selected&number=${weekly_number}`,
headers: {
Referer: `https://www.bilibili.com/h5/weekly-recommend?num=${weekly_number}&navhide=1`,
},
});
const data = response.data.data.list;
ctx.state.data = {
title: 'B站每周必看',
link: 'https://www.bilibili.com/h5/weekly-recommend',
description: 'B站每周必看',
item: data.map((item) => ({
title: item.title,
description: `${weekly_name} ${item.title}<br>${item.rcmd_reason}<br>${!disableEmbed ? `${utils.iframe(item.param)}` : ''}<img src="${item.cover}">`,
link: `https://www.bilibili.com/video/av${item.param}`,
})),
};
};