mirror of
https://github.com/DIYgod/RSSHub.git
synced 2025-12-10 15:21:59 +08:00
feat: add vocus.cc publication (#1948)
This commit is contained in:
@@ -481,3 +481,7 @@
|
||||
<Route name="标签" author="Cerebrater" example="/matters/tags/VGFnOjk3Mg" path="/matters/tags/:tid" :paramsDesc="['標籤 id,可在標籤所在的 URL 找到']"/>
|
||||
|
||||
<Route name="作者" author="Cerebrater" example="/matters/author/az" path="/matters/author/:uid" :paramsDesc="['作者 id,可在作者主頁的 URL 找到']"/>
|
||||
|
||||
## 方格子
|
||||
|
||||
<Route name="出版專題" author="Maecenas" example="/vocus/publication/bass" path="/vocus/publication/:id" :paramsDesc="['出版專題 id,可在出版專題主页的 URL 找到']"/>
|
||||
|
||||
@@ -1260,4 +1260,7 @@ router.get('/21caijing/channel/:name', require('./routes/21caijing/channel'));
|
||||
// 北京邮电大学
|
||||
router.get('/bupt/yz/:type', require('./routes/universities/bupt/yz'));
|
||||
|
||||
// VOCUS 方格子
|
||||
router.get('/vocus/publication/:id', require('./routes/vocus/publication'));
|
||||
|
||||
module.exports = router;
|
||||
|
||||
24
lib/routes/vocus/publication.js
Normal file
24
lib/routes/vocus/publication.js
Normal file
@@ -0,0 +1,24 @@
|
||||
const axios = require('../../utils/axios');
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
const { id } = ctx.params;
|
||||
|
||||
const { _id, title, abstract } = (await axios.get(`https://api.sosreader.com/api/publication/${id}`)).data;
|
||||
const { articles } = (await axios.get(`https://api.sosreader.com/api/articles?publicationId=${_id}&status=2&num=10&page=1`)).data;
|
||||
const items = await Promise.all(
|
||||
articles.map(async (item) => ({
|
||||
title: item.title,
|
||||
author: item.user.fullname,
|
||||
description: (await axios.get(`https://api.sosreader.com/api/article/${item._id}`)).data.article.content,
|
||||
pubDate: new Date(item.updatedAt).toUTCString(),
|
||||
link: `https://vocus.cc/${id}/${item._id}`,
|
||||
}))
|
||||
);
|
||||
|
||||
ctx.state.data = {
|
||||
title: `${title} - 方格子`,
|
||||
link: `https://vocus.cc/${id}/home`,
|
||||
description: abstract,
|
||||
item: items,
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user