36 lines
1.1 KiB
JavaScript
36 lines
1.1 KiB
JavaScript
const got = require('@/utils/got');
|
|
const { parseDate } = require('@/utils/parse-date');
|
|
const timezone = require('@/utils/timezone');
|
|
|
|
const { baseUrl, apiHost } = require('./utils');
|
|
|
|
module.exports = async (ctx) => {
|
|
const responses = await got.all(
|
|
Array.from(
|
|
{
|
|
// first 2 pages
|
|
length: (ctx.query.limit ? parseInt(ctx.query.limit, 10) : 12) / 6,
|
|
},
|
|
(_, v) => `${apiHost}/api/v1/commentsall?page=${v + 1}`
|
|
).map((url) => got.post(url))
|
|
);
|
|
|
|
const items = responses
|
|
.map((response) => response.data.data.list)
|
|
.flat()
|
|
.map((item) => ({
|
|
title: `${item.user_info.name} ${item.title_desc} ${item.title}`,
|
|
description: item.desc,
|
|
pubDate: timezone(parseDate(item.created_at), +8),
|
|
author: item.user_info.name,
|
|
link: `${baseUrl}/view/${item.source_id || item.story_id}`,
|
|
guid: `baai:hub:comments:${item.id}`,
|
|
}));
|
|
|
|
ctx.state.data = {
|
|
title: '评论 - 智源社区',
|
|
link: `${baseUrl}/comments`,
|
|
item: items,
|
|
};
|
|
};
|