rsshub
Version:
Make RSS Great Again!
47 lines (45 loc) • 1.56 kB
JavaScript
import "./dist-Bog6z_OM.mjs";
import "./config-MQ-7ebJ_.mjs";
import "./logger-C4avouvV.mjs";
import "./ofetch-DKl_Ma9g.mjs";
import "./parse-date-r5WDWHno.mjs";
import "./is-worker-DESPicPc.mjs";
import { t as cache_default } from "./cache-SV6W5EPy.mjs";
import "./helpers-Bo4JQYdN.mjs";
import { t as got_default } from "./got-CO-ndVl2.mjs";
import { l as processItems, s as fetchData, t as apiArticleRootUrl, u as rootUrl } from "./util-B64gnjsQ.mjs";
//#region lib/routes/huxiu/collection.ts
const route = {
path: "/collection/:id",
categories: ["new-media"],
example: "/huxiu/collection/212",
parameters: { id: "文集 id,可在对应文集页 URL 中找到" },
features: {
requireConfig: false,
requirePuppeteer: false,
antiCrawler: true,
supportBT: false,
supportPodcast: true,
supportScihub: false
},
name: "文集",
maintainers: ["AlexdanerZe", "nczitzk"],
handler,
description: `更多文集请参见 [文集](https://www.huxiu.com/collection)`
};
async function handler(ctx) {
const id = ctx.req.param("id");
const limit = ctx.req.query("limit") ? Number.parseInt(ctx.req.query("limit"), 10) : 10;
const apiUrl = new URL("web/collection/articleList", apiArticleRootUrl).href;
const currentUrl = new URL(`collection/${id}.html`, rootUrl).href;
const { data: response } = await got_default.post(apiUrl, { form: {
platform: "www",
collection_id: id
} });
return {
item: await processItems(response.data.datalist, limit, cache_default.tryGet),
...await fetchData(currentUrl)
};
}
//#endregion
export { route };