28 lines
743 B
JavaScript
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)),
|
|
};
|
|
};
|