UNPKG

rsshub

Version:
49 lines (48 loc) 1.56 kB
import { t as parseDate } from "./parse-date-Cr0wQjV_.mjs"; import { t as cache_default } from "./cache-BkqOokyU.mjs"; import { t as got_default } from "./got-BTowW50G.mjs"; import { t as utils_default } from "./utils-D303UM8G.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(base); 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 ?? void 0, description: utils_default.renderDesc(details[i].desc, details[i].pics, e.author), pubDate: parseDate((/* @__PURE__ */ new Date()).toISOString()), link: e.detailPage })) }; } //#endregion export { route };