UNPKG

rsshub

Version:
59 lines (57 loc) 2.04 kB
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 "./helpers-Bo4JQYdN.mjs"; import "./got-CO-ndVl2.mjs"; import { n as parseItems, r as parseList, t as baseUrl } from "./utils-2Rri4krC.mjs"; //#region lib/routes/line/publisher.ts const route = { path: "/today/:edition/publisher/:id", categories: ["new-media"], example: "/line/today/th/publisher/101048", parameters: { edition: "Edition, see table above", id: "Channel ID, can be found in URL" }, radar: [{ source: ["today.line.me/:edition/v2/publisher/:id"] }], name: "TODAY - Channel", maintainers: ["TonyRL"], handler }; async function handler(ctx) { const { edition, id } = ctx.req.param(); const publisherInfo = await ofetch_default(`${baseUrl}/webapi/portal/page/setting`, { query: { entityId: id, country: edition, pageType: "CP" } }); let thaiData; if (edition === "th") thaiData = await ofetch_default(`${baseUrl}/webapi/portal/embedded/page/cplatest`, { query: { entityId: id, pageType: "CP", country: edition } }); const mod = (edition === "th" ? thaiData.modules : publisherInfo.modules).find((item) => item.source === "CP_LATEST"); const listing = mod.listings[0]; const items = await parseItems(parseList((await ofetch_default(`${baseUrl}/webapi/trending/cp/latest/listings/${mod.id}`, { query: { offset: listing.offset, length: listing.length, country: edition, targetContent: listing.params?.targetContent, cps: listing.params?.cps, publishedWithin: listing.params?.publishedWithin } })).items)); return { title: `${publisherInfo.data.name} - Line Today`, description: publisherInfo.data.introduction, image: publisherInfo.data.icon ? `https://obs.line-scdn.net/${publisherInfo.data.icon.hash}` : void 0, link: `${baseUrl}/${edition}/v2/publisher/${id}`, item: items }; } //#endregion export { route };