mirror of
https://github.com/DIYgod/RSSHub.git
synced 2025-12-08 05:59:00 +08:00
43 lines
1.3 KiB
JavaScript
43 lines
1.3 KiB
JavaScript
const axios = require('@/utils/axios');
|
|
const util = require('./utils');
|
|
|
|
module.exports = async (ctx) => {
|
|
const category = ctx.params.category;
|
|
|
|
const idResponse = await axios({
|
|
method: 'get',
|
|
url: 'https://gold-tag-ms.juejin.im/v1/categories',
|
|
headers: {
|
|
Referer: `https://juejin.im/welcome/${category}`,
|
|
'X-Juejin-Client': '',
|
|
'X-Juejin-Src': 'web',
|
|
'X-Juejin-Token': '',
|
|
'X-Juejin-Uid': '',
|
|
},
|
|
});
|
|
|
|
const cat = idResponse.data.d.categoryList.find((item) => item.title === category);
|
|
const id = cat.id;
|
|
|
|
const response = await axios({
|
|
method: 'get',
|
|
url: `https://timeline-merger-ms.juejin.im/v1/get_entry_by_timeline?src=web&limit=20&category=${id}`,
|
|
headers: {
|
|
Referer: `https://juejin.im/welcome/${category}`,
|
|
},
|
|
});
|
|
|
|
let originalData = [];
|
|
if (response.data.d && response.data.d.entrylist) {
|
|
originalData = response.data.d && response.data.d.entrylist.slice(0, 5);
|
|
}
|
|
const resultItems = await util.ProcessFeed(originalData, ctx.cache);
|
|
|
|
ctx.state.data = {
|
|
title: `掘金${cat.name}`,
|
|
link: `https://juejin.im/welcome/${category}`,
|
|
description: `掘金${cat.name}`,
|
|
item: resultItems,
|
|
};
|
|
};
|