rsshub
Version:
Make RSS Great Again!
59 lines (57 loc) • 1.99 kB
JavaScript
import { n as init_esm_shims, t as __dirname } from "./esm-shims-CzJ_djXG.mjs";
import { t as config } from "./config-C37vj7VH.mjs";
import "./dist-BInvbO1W.mjs";
import "./logger-Czu8UMNd.mjs";
import { t as ofetch_default } from "./ofetch-BIyrKU3Y.mjs";
import { t as parseDate } from "./parse-date-BrP7mxXf.mjs";
import { t as art } from "./render-BQo6B4tL.mjs";
import path from "node:path";
//#region lib/routes/bc3ts/list.ts
init_esm_shims();
const route = {
path: "/post/list/:sort?",
example: "/bc3ts/post/list",
parameters: { sort: "排序方式,`1` 為最新,`2` 為熱門,默认為 `1`" },
features: { antiCrawler: true },
radar: [{ source: ["web.bc3ts.net"] }],
name: "動態",
maintainers: ["TonyRL"],
handler
};
const baseUrl = "https://web.bc3ts.net";
const renderMedia = (media) => art(path.join(__dirname, "templates/media-50bba4a6.art"), { media });
async function handler(ctx) {
const { sort = "1" } = ctx.req.param();
const limit = ctx.req.query("limit") ? Number.parseInt(ctx.req.query("limit"), 10) : 20;
const items = (await ofetch_default("https://app.bc3ts.net/post/list/v2", {
headers: {
apikey: "zlF+kaPfem%23we$2@90irpE*_RGjdw",
app_version: "3.0.28",
version: "2.0.0",
"User-Agent": config.trueUA
},
query: {
limits: limit,
sort_type: sort
}
})).data.map((p) => ({
title: p.title ?? p.content.split("\n")[0],
description: p.content.replaceAll("\n", "<br>") + (p.media.length && renderMedia(p.media)),
link: `${baseUrl}/post/${p.id}`,
author: p.user.name,
pubDate: parseDate(p.created_time, "x"),
category: p.group.name,
upvotes: p.like_count,
comments: p.comment_count
}));
return {
title: `爆料公社${sort === "1" ? "最新" : "熱門"}動態`,
link: baseUrl,
language: "zh-TW",
image: "https://img.bc3ts.net/image/web/main/logo-white-new-2023.png",
icon: "https://img.bc3ts.net/image/web/main/logo/logo_icon_6th_2024_192x192.png",
item: items
};
}
//#endregion
export { route };