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