feat: 增加安全客获取全文 (#10921)

* feat: 增加安全客获取全文

* fix: 不需要控制台输出

* fix: const single

* fix: 不分状态获取全文

现在仅在添加了 `fulltext` 或 `quanwen` 时才获取全文

* docs: 添加安全客获取全文参数说明

* docs: 删除重复的内容
This commit is contained in:
水货
2022-09-27 16:52:48 -05:00
committed by GitHub
parent f8b1c8d6f0
commit 33aec8da94
4 changed files with 21 additions and 9 deletions
+18 -6
View File
@@ -1,20 +1,32 @@
const got = require('@/utils/got');
const cheerio = require('cheerio');
const { parseDate } = require('@/utils/parse-date');
const timezone = require('@/utils/timezone');
module.exports = async (ctx) => {
const api = 'https://api.anquanke.com/data/v1/posts?size=10&page=1&category=';
const type = ctx.params.category;
const fulltext = ctx.params.fulltext;
const host = 'https://www.anquanke.com';
const res = await got(`${api}${type}`);
const dataArray = res.data.data;
const items = dataArray.map((item) => ({
title: item.title,
description: item.desc,
pubDate: timezone(parseDate(item.date), +8),
link: `${host}/${type === 'week' ? 'week' : 'post'}/id/${item.id}`,
author: item.author.nickname,
const items = await Promise.all(
dataArray.map(async (item) => {
const art_url = `${host}/${type === 'week' ? 'week' : 'post'}/id/${item.id}`;
return {
title: item.title,
description: fulltext === 'fulltext' || fulltext === 'quanwen'
? await ctx.cache.tryGet(art_url, async () => {
const { data: res } = await got(art_url);
const content = cheerio.load(res);
return content('#js-article').html();
})
: item.desc,
pubDate: timezone(parseDate(item.date), +8),
link: art_url,
author: item.author.nickname,
};
}));
ctx.state.data = {
+1 -1
View File
@@ -1,4 +1,4 @@
module.exports = {
// '/vul': ['qwertyuiop6'],
'/:category': ['qwertyuiop6'],
'/:category/:fulltext?': ['qwertyuiop6'],
};
+1 -1
View File
@@ -1,4 +1,4 @@
module.exports = (router) => {
// router.get('/vul', require('./vul')); // 404
router.get('/:category', require('./category'));
router.get('/:category/:fulltext?', require('./category'));
};