mirror of
https://github.com/DIYgod/RSSHub.git
synced 2025-12-07 13:39:35 +08:00
增加InfoQ全文RSS (#1812)
This commit is contained in:
50
lib/routes/infoq/utils.js
Normal file
50
lib/routes/infoq/utils.js
Normal file
@@ -0,0 +1,50 @@
|
||||
const axios = require('../../utils/axios');
|
||||
|
||||
const ProcessFeed = async (list, cache) => {
|
||||
const detailUrl = 'https://www.infoq.cn/public/v1/article/getDetail';
|
||||
|
||||
const items = await Promise.all(
|
||||
list.map(async (e) => {
|
||||
const uuid = e.uuid;
|
||||
const single = await cache.tryGet(
|
||||
uuid,
|
||||
async () => {
|
||||
const link = `https://www.infoq.cn/article/${uuid}`;
|
||||
const resp = await axios({
|
||||
method: 'post',
|
||||
url: detailUrl,
|
||||
headers: {
|
||||
Referer: link,
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
data: {
|
||||
uuid: uuid,
|
||||
},
|
||||
});
|
||||
|
||||
const data = resp.data.data;
|
||||
const author = data.author ? data.author.map((p) => p.nickname).join(',') : data.no_author;
|
||||
const pubDate = new Date();
|
||||
pubDate.setTime(data.publish_time);
|
||||
|
||||
return {
|
||||
title: data.article_title,
|
||||
description: data.content,
|
||||
pubDate,
|
||||
author: author,
|
||||
link,
|
||||
};
|
||||
},
|
||||
2 * 24 * 60 * 60
|
||||
);
|
||||
|
||||
return Promise.resolve(single);
|
||||
})
|
||||
);
|
||||
|
||||
return items;
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
ProcessFeed,
|
||||
};
|
||||
Reference in New Issue
Block a user