Merge branch 'master' of https://github.com/SettingDust/RSSHub into SettingDust-master
This commit is contained in:
commit
4d8b216366
|
|
@ -825,6 +825,8 @@ GitHub 官方也提供了一些 RSS:
|
|||
|
||||
<route name="放送列表" author="magic-akari" example="/bangumi/calendar/today" path="/bangumi/calendar/today"/>
|
||||
|
||||
<route name="条目的章节" author="SettingDust" example="/bangumi/subject/ep/240038" path="/bangumi/subject/ep/:id" :paramsDesc="['条目 id, 在条目页面的地址栏查看']"/>
|
||||
|
||||
<route name="条目的吐槽箱" author="ylc395" example="/bangumi/subject/214265/comments?minLength=100" path="/bangumi/subject/:id/comments" :paramsDesc="['条目 id, 在条目页面的地址栏查看. minLength: 以查询字符串(query string)的形式指定. 用于过滤掉内容长度小于指定值的吐槽']"/>
|
||||
|
||||
<route name="条目的评论" author="ylc395" example="/bangumi/subject/214265/blogs" path="/bangumi/subject/:id/blogs" :paramsDesc="['条目 id, 在条目页面的地址栏查看']"/>
|
||||
|
|
|
|||
|
|
@ -119,6 +119,7 @@ router.get('/bangumi/subject/:id/:type', require('./routes/bangumi/subject'));
|
|||
router.get('/bangumi/person/:id', require('./routes/bangumi/person'));
|
||||
router.get('/bangumi/topic/:id', require('./routes/bangumi/group/reply.js'));
|
||||
router.get('/bangumi/group/:id', require('./routes/bangumi/group/topic.js'));
|
||||
router.get('/bangumi/subject/:id', require('./routes/bangumi/subject'));
|
||||
|
||||
// 微博
|
||||
router.get('/weibo/user/:uid', require('./routes/weibo/user'));
|
||||
|
|
|
|||
|
|
@ -0,0 +1,26 @@
|
|||
const axios = require('../../../utils/axios');
|
||||
const DateTime = require('luxon').DateTime;
|
||||
|
||||
module.exports = async (subjectID) => {
|
||||
const url = `https://api.bgm.tv/subject/${subjectID}/ep`;
|
||||
const epsInfo = (await axios.get(url)).data;
|
||||
const activeEps = [];
|
||||
|
||||
epsInfo.eps.map((e) => {
|
||||
if (e.status !== 'NA') {
|
||||
activeEps.push(e);
|
||||
}
|
||||
});
|
||||
|
||||
return {
|
||||
title: `${epsInfo.name_cn}的Bangumi章节`,
|
||||
link: `https://bgm.tv/subject/${subjectID}`,
|
||||
item: activeEps.map((e) => ({
|
||||
title: e.name_cn,
|
||||
description: e.desc,
|
||||
pubDate: DateTime.fromFormat(e.airdate, 'yyyy-L-dd'),
|
||||
guid: e.id,
|
||||
link: e.url,
|
||||
})),
|
||||
};
|
||||
};
|
||||
|
|
@ -1,22 +1,27 @@
|
|||
const getComments = require('./comments.js');
|
||||
const getFromAPI = require('./offcial-subject-api.js');
|
||||
|
||||
const getEps = require('./ep.js');
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
const id = ctx.params.id;
|
||||
let response;
|
||||
switch (ctx.params.type) {
|
||||
case 'comments':
|
||||
response = await getComments(id, Number(ctx.request.query.minLength) || 0);
|
||||
break;
|
||||
case 'blogs':
|
||||
response = await getFromAPI('blog')(id);
|
||||
break;
|
||||
case 'topics':
|
||||
response = await getFromAPI('topic')(id);
|
||||
break;
|
||||
default:
|
||||
throw Error(`暂不支持对${ctx.params.type}的订阅`);
|
||||
if (ctx.params.type) {
|
||||
switch (ctx.params.type) {
|
||||
case 'comments':
|
||||
response = await getComments(id, Number(ctx.request.query.minLength) || 0);
|
||||
break;
|
||||
case 'blogs':
|
||||
response = await getFromAPI('blog')(id);
|
||||
break;
|
||||
case 'topics':
|
||||
response = await getFromAPI('topic')(id);
|
||||
break;
|
||||
default:
|
||||
throw Error(`暂不支持对${ctx.params.type}的订阅`);
|
||||
}
|
||||
} else {
|
||||
response = await getEps(id);
|
||||
}
|
||||
|
||||
ctx.state.data = response;
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue