RSSHub/lib/v2/cyzone/index.js

28 lines
743 B
JavaScript

const { rootUrl, apiRootUrl, processItems, getInfo } = require('./util');
module.exports = async (ctx) => {
const { id = 'news' } = ctx.params;
const limit = ctx.query.limit ? parseInt(ctx.query.limit, 10) : 5;
const apiUrl = new URL(`v2/content/channel/${id === 'news' ? 'getArticle' : 'detail'}`, apiRootUrl).href;
const currentUrl = new URL(`channel/${id}`, rootUrl).href;
const items = await processItems(
apiUrl,
limit,
ctx.cache.tryGet,
id === 'news'
? {}
: {
channel_id: id,
}
);
ctx.state.data = {
...{
item: items,
},
...(await getInfo(currentUrl, ctx.cache.tryGet)),
};
};