UNPKG

rsshub

Version:
64 lines (62 loc) 1.92 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 "./cache-SV6W5EPy.mjs"; import "./timezone-CA9Huotp.mjs"; import { d as LOGO_URL, h as STRAT_PART, l as generatePostFeeds, m as REQUIRE_CONFIG, n as getPosts, p as POST_TYPE, s as checkConfig, u as INDEX_URL } from "./api-B94zz5hx.mjs"; //#region lib/routes/sdo/ff14risingstones/strats.ts const route = { path: "/ff14risingstones/strats/:pid?/:type?", example: "/sdo/ff14risingstones/strats/1,2/refine", name: "攻略", categories: ["bbs"], maintainers: ["KarasuShin"], features: { requireConfig: REQUIRE_CONFIG }, parameters: { pid: { description: "分区id,默认显示所有分区,可通过 `,` 拼接多个分区 id 进行筛选", default: "all", options: [{ label: "全部", value: "all" }, ...STRAT_PART] }, type: { description: "攻略类型,默认不做筛选", options: [{ label: "置顶", value: "top" }, { label: "精华", value: "refine" }] } }, handler }; async function handler(ctx) { checkConfig(); const limit = ctx.req.query("limit") || 20; const pid = ctx.req.param("pid")?.split(",").filter((i) => STRAT_PART.some((part) => part.value === i)) ?? []; const type = ctx.req.param("type"); const stratPart = pid.length ? pid.map((i) => STRAT_PART.find((p) => p.value === i)?.label).join(",") : ""; const posts = await getPosts({ type: 2, limit, order: "latest", is_refine: type === "refine" ? 1 : 0, is_top: type === "top" ? 1 : 0, part_id: pid.length ? pid.join(",") : void 0 }); return { title: `石之家 - ${POST_TYPE[type] ?? ""}攻略${stratPart ? ` - ${stratPart}` : ""}`, link: `${INDEX_URL}#/strat`, image: LOGO_URL, item: await generatePostFeeds(posts) }; } //#endregion export { route };