UNPKG

rsshub

Version:
57 lines (55 loc) 1.82 kB
import "./esm-shims-CzJ_djXG.mjs"; import "./config-C37vj7VH.mjs"; import "./dist-BInvbO1W.mjs"; import "./logger-Czu8UMNd.mjs"; import "./ofetch-BIyrKU3Y.mjs"; import { t as parseDate } from "./parse-date-BrP7mxXf.mjs"; import { t as cache_default } from "./cache-Bo__VnGm.mjs"; import "./helpers-DxBp0Pty.mjs"; import "./render-BQo6B4tL.mjs"; import { t as got_default } from "./got-KxxWdaxq.mjs"; import { t as utils_default } from "./utils-BZ3dFYOt.mjs"; //#region lib/routes/furstar/index.ts const route = { path: "/characters/:lang?", categories: ["shopping"], example: "/furstar/characters/cn", parameters: { lang: "语言, 留空为jp, 支持cn, en" }, features: { requireConfig: false, requirePuppeteer: false, antiCrawler: false, supportBT: false, supportPodcast: false, supportScihub: false }, radar: [{ source: ["furstar.jp/:lang", "furstar.jp/"], target: "/characters/:lang" }], name: "最新售卖角色列表", maintainers: ["NeverBehave"], handler }; async function handler(ctx) { const base = utils_default.langBase(ctx.req.param("lang")); const res = await got_default.get(base, { https: { rejectUnauthorized: false } }); const info = utils_default.fetchAllCharacters(res.data, base); const details = await Promise.all(info.map((e) => utils_default.detailPage(e.detailPage, cache_default))); ctx.set("json", { info }); return { title: "Furstar 最新角色", link: "https://furstar.jp", description: "Furstar 最近更新的角色列表", language: ctx.req.param("lang"), item: info.map((e, i) => ({ title: e.title, author: e.author.name, description: utils_default.renderDesc(details[i].desc, details[i].pics, e.author), pubDate: parseDate((/* @__PURE__ */ new Date()).toISOString()), link: e.detailPage })) }; } //#endregion export { route };