feat: 添加哔哩哔哩专栏文集 (#3218)

This commit is contained in:
hoilc 2019-10-10 11:42:51 +08:00 committed by DIYgod
parent 7714aed6a1
commit 515775401d
3 changed files with 36 additions and 0 deletions

View File

@ -238,6 +238,10 @@ pageClass: routes
<Route author="LogicJake" example="/bilibili/audio/10624" path="/bilibili/audio/10624" :paramsDesc="['歌单 id, 可在歌单页 URL 中找到']"/>
### 专栏文集
<Route author="hoilc" example="/bilibili/readlist/25611" path="/bilibili/readlist/:listid" :paramsDesc="['文集 id, 可在专栏文集 URL 中找到']"/>
## Disqus
### 评论

View File

@ -41,6 +41,7 @@ router.get('/bilibili/audio/:id', require('./routes/bilibili/audio'));
router.get('/bilibili/vsearch/:kw/:order?', require('./routes/bilibili/vsearch'));
router.get('/bilibili/followings/video/:uid', 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'));
// bangumi
router.get('/bangumi/calendar/today', require('./routes/bangumi/calendar/today'));

View File

@ -0,0 +1,31 @@
const got = require('@/utils/got');
module.exports = async (ctx) => {
const listid = ctx.params.listid;
const listurl = `https://www.bilibili.com/read/readlist/${listid}`;
const response = await got({
method: 'get',
url: `https://api.bilibili.com/x/article/list/web/articles?id=${listid}&jsonp=jsonp`,
headers: {
Referer: listurl,
},
});
const data = response.data.data;
ctx.state.data = {
title: `bilibili 专栏文集 - ${data.list.name}`,
link: `https://www.bilibili.com/read/readlist/${listid}`,
image: data.list.image_url,
description: data.list.summary ? data.list.summary : '作者很懒,还木有写简介.....((/- -)/',
item:
data.articles &&
data.articles.map((item) => ({
title: item.title,
author: data.author.name,
description: `${item.summary}…<br><img src="${item.image_urls[0]}">`,
pubDate: new Date(item.publish_time * 1000).toUTCString(),
link: listurl,
})),
};
};