UNPKG

rsshub

Version:
45 lines (44 loc) 1.53 kB
import { t as rofetch } from "./ofetch-W1aeTHCo.mjs"; import { t as parseDate } from "./parse-date-CjhZE69i.mjs"; import { t as cache_default } from "./cache-CiDoUSLo.mjs"; import { t as timezone } from "./timezone-DE--ze1V.mjs"; import { load } from "cheerio"; //#region lib/routes/qq/mlol/article.ts const route = { path: "/mlol/article/:uuid", categories: ["game"], example: "/qq/mlol/article/ee97e19c-4a64-4637-b916-b9ee23744d1f", parameters: { uuid: "用户 UUID,可在文章 html 中获取" }, name: "掌上英雄联盟用户文章", maintainers: ["ztmzzz"], handler }; async function handler(ctx) { const { uuid } = ctx.req.param(); const url = `https://mlol.qt.qq.com/go/mlol_news/author_feeds?author_uuid=${uuid}`; const data = (await rofetch(url)).data.feedsInfo; const name = data[0].feedNews.footer.source; const items = await Promise.all(data.map((feed) => { const body = feed.feedNews.body; const link = `https://mlol.qt.qq.com/go/mlol_news/varcache_article?is_lqt=true&docid=${body.commentID}`; const item = { title: body.title, description: `<img src='${body.imgUrl.split("?", 1)[0]}'>`, pubDate: timezone(parseDate(body.comCreateDate), 8), link }; return cache_default.tryGet(link, async () => { const $ = load(await rofetch(link)); item.description = $(".article_content").html() ?? item.description; return item; }); })); return { title: `${name}的文章`, link: url, description: `${name}的文章`, item: items }; } //#endregion export { route };