Files
RSSHub/lib/routes/tencent/wechat/uread.js
Sukka d82847f541 style/chore(eslint): enforce new rules (#8040)
* style: prefer object shorthand syntax
* refactor: prefer Array#map over Array#forEach
* style: prefer arrow callback
* chore(eslint): update rules
* style: auto fix by eslint
2021-08-17 22:23:23 +08:00

52 lines
1.4 KiB
JavaScript

const got = require('@/utils/got');
const cheerio = require('cheerio');
module.exports = async (ctx) => {
const userid = ctx.params.userid;
const url = `http://119.29.146.143:8080/reading/subscription/account/recent?uid=${userid}`;
const response = await got({
method: 'get',
url,
});
const data = response.data;
const ProcessFeed = (data) => {
const $ = cheerio.load(data);
return $('.rich_media_content').html();
};
const items = await Promise.all(
data.data.map(async (item) => {
const link = item.url;
const cache = await ctx.cache.get(link);
if (cache) {
return Promise.resolve(JSON.parse(cache));
}
const response = await got({
method: 'get',
url: link,
});
const description = ProcessFeed(response.data);
const single = {
title: item.title,
description,
link,
author: item.official_account,
pubDate: item.publish_time,
};
ctx.cache.set(link, JSON.stringify(single));
return Promise.resolve(single);
})
);
ctx.state.data = {
title: `优读 - ${userid}`,
link: 'https://uread.ai/',
item: items,
};
};