rsshub
Version:
Make RSS Great Again!
59 lines (57 loc) • 2.04 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 "./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 };