rsshub
Version:
Make RSS Great Again!
49 lines (47 loc) • 1.66 kB
JavaScript
import "./dist-Bog6z_OM.mjs";
import "./config-MQ-7ebJ_.mjs";
import "./logger-C4avouvV.mjs";
import { t as ofetch_default } from "./ofetch-DKl_Ma9g.mjs";
import "./parse-date-r5WDWHno.mjs";
import "./is-worker-DESPicPc.mjs";
import "./cache-SV6W5EPy.mjs";
import { o as parseList, r as getCollection, t as ProcessFeed } from "./utils-XNu2QX5W.mjs";
//#region lib/routes/juejin/collections.ts
const route = {
path: "/collections/:userId",
categories: ["programming"],
example: "/juejin/collections/1697301682482439",
parameters: { userId: "用户唯一标志符, 在浏览器地址栏URL中能够找到" },
features: {
requireConfig: false,
requirePuppeteer: false,
antiCrawler: false,
supportBT: false,
supportPodcast: false,
supportScihub: false
},
radar: [{
source: ["juejin.cn/user/:id", "juejin.cn/user/:id/collections"],
target: "/collections/:id"
}],
name: "收藏集",
maintainers: ["yang131323"],
handler
};
async function getArticleList(collectionId) {
return (await getCollection(collectionId)).article_list;
}
async function handler(ctx) {
const userId = ctx.req.param("userId");
const collectionId = (await ofetch_default(`https://api.juejin.cn/interact_api/v1/collectionSet/list?user_id=${userId}&cursor=0&limit=20`)).data.map((item) => item.tag_id);
const result = await ProcessFeed(parseList((await Promise.all(collectionId.map((id) => getArticleList(id)))).flat().filter(Boolean)));
return {
title: "掘金 - 收藏集",
link: `https://juejin.im/user/${userId}/collections`,
description: "掘金,指定用户整个收藏集",
item: result,
allowEmpty: true
};
}
//#endregion
export { route };