UNPKG

rsshub

Version:
46 lines (45 loc) 1.58 kB
import { t as rofetch } from "./ofetch-U0CdpE2g.mjs"; import { t as PRESETS } from "./header-generator-DACPoxdp.mjs"; import { t as cache_default } from "./cache-C1Y-9qDV.mjs"; import { load } from "cheerio"; //#region lib/routes/jjmhw/book.ts const route = { path: "/book/:id", categories: ["anime"], example: "/jjmhw/book/90", parameters: { id: "漫画 id,漫画主页的地址栏中" }, radar: [{ source: ["www.jjmhw.cc/book/:id"] }], name: "漫画更新", maintainers: ["junfengP"], handler, url: "www.jjmhw.cc" }; async function handler(ctx) { const { id } = ctx.req.param(); const baseUrl = "https://www.jjmhw.cc"; const link = `${baseUrl}/book/${id}`; const response = await rofetch(link); const $ = load(response); const list = $("#detail-list-select > li > a").toArray().toReversed().slice(0, ctx.req.query("limit") ? Number(ctx.req.query("limit")) : 10).map((item) => { const $item = $(item); return { title: $item.text(), link: new URL($item.attr("href"), baseUrl).href }; }); const items = await Promise.all(list.map((item) => cache_default.tryGet(item.link, async () => { const response = await rofetch(item.link, { headerGeneratorOptions: PRESETS.MODERN_ANDROID }); const $ = load(response); item.description = $(".comicpage img").toArray().map((ele) => `<img src="${$(ele).attr("data-original")}">`).join(""); return item; }))); return { title: `漫小肆 ${$("div.info > h1").text()}`, description: $(".content").text(), image: $(".cover img").attr("src"), link, item: items }; } //#endregion export { route };