UNPKG

rsshub

Version:
56 lines (54 loc) 1.84 kB
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 { i as processList, n as apiUrl, r as baseUrl, t as ProcessFeed } from "./utils-iUzM-dtX.mjs"; //#region lib/routes/vocus/publication.ts const route = { path: "/publication/:id", categories: ["social-media"], example: "/vocus/publication/bass", parameters: { id: "出版專題 id,可在出版專題主页的 URL 找到" }, features: { requireConfig: false, requirePuppeteer: false, antiCrawler: false, supportBT: false, supportPodcast: false, supportScihub: false }, radar: [{ source: ["vocus.cc/:id/home", "vocus.cc/:id/introduce"] }], name: "出版專題", maintainers: ["Maecenas"], handler }; async function handler(ctx) { const id = ctx.req.param("id"); const link = `${baseUrl}/${id}/home`; const publicationData = await cache_default.tryGet(`vocus:publication:${id}`, async () => { const { data: publicationData } = await got_default(`${apiUrl}/api/publication/${id}`, { headers: { referer: link } }); return { _id: publicationData._id, title: publicationData.title, abstract: publicationData.abstract }; }); const { data: { articles } } = await got_default(`${apiUrl}/api/articles`, { headers: { referer: link }, searchParams: { publicationId: publicationData._id } }); const items = await ProcessFeed(processList(articles), cache_default.tryGet); return { title: `${publicationData.title} - 文章列表|方格子 vocus`, link, description: publicationData.abstract, item: items }; } //#endregion export { route };