rsshub
Version:
Make RSS Great Again!
57 lines (55 loc) • 1.82 kB
JavaScript
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 };