UNPKG

rsshub

Version:
79 lines (77 loc) 2.81 kB
import { n as init_esm_shims, t as __dirname } from "./esm-shims-CzJ_djXG.mjs"; import { t as md5 } from "./md5-C8GRvctM.mjs"; import { t as art } from "./render-BQo6B4tL.mjs"; import { t as got_default } from "./got-KxxWdaxq.mjs"; import path from "node:path"; import { load } from "cheerio"; //#region lib/routes/lfsyd/utils.ts init_esm_shims(); const rootUrl = "https://www.iyingdi.com"; const infoUrL = "https://api.iyingdi.com/web/post/info"; const ProcessFeed = async (cache, articleList) => { return await Promise.all(articleList.map((item) => cache.tryGet(item.link, async () => { const infoForm = { post_id: item.postId, timestamp: "" }; const { body } = await got_default({ method: "post", url: infoUrL, headers: { Host: "api.iyingdi.com", "Login-Token": "nologin", Origin: rootUrl, Platform: "pc", Referer: `${rootUrl}/` }, form: ProcessForm(infoForm) }); item.description = cleanHtml(JSON.parse(body).post.content); return item; }))); }; const ProcessForm = (form, type) => { form.key = type ? "8a11ed3712b699e749185674f1dc20b4" : "b8d5b38577b8bb382b0c783b474b95f9"; form.timestamp = Math.floor(Date.now() / 1e3); form.sign = md5(new URLSearchParams(form).toString()); delete form.key; return form; }; const cleanHtml = (htmlString) => { const $ = load(htmlString.replace(/(<p>|<div>)(.*?)?<strong>(标准|狂野)日报投稿.*?<\/strong>(.*?)?(<\/p>|<\/div>)(.|\n)*$/, "")); $(".yingdi-car,.bbspost,.deck-set").each((i, e) => { const className = $(e).attr("class"); const dataId = $(e).attr("data-id"); const decksUrl = `${rootUrl}/web/tools/hearthstone/decks/setdetail?setid=${dataId}`; const url = className === "yingdi-card bbspost" ? `${rootUrl}/tz/post/${dataId}` : decksUrl; const time = $(e).find(".card-status .time").text(); $(e).find(".card-info .title").text((i$1, c) => `${c} ${time}`); $(e).find(".card-status").remove(); $(e).find(".card-info").wrap(art(path.join(__dirname, "templates/card-038fc8ce.art"), { url })); }); $(".yingdi-image.gif").each((i, e) => { const imgsrc = $(e).attr("data-original"); $(e).attr("src", imgsrc); }); $(".yingdi-audio").each((i, e) => { $(e).find(".audio-cover").remove(); $(e).find(".audio-area.hidden").attr("class", "audio-area"); }); $(".yingdi-video iframe").each((i, e) => { const bvid = $(e).attr("src").match(/bvid=(.*?)&/)[1]; if (bvid) { const url = `https://www.bilibili.com/video/${bvid}`; $(e).after(art(path.join(__dirname, "templates/video-54339745.art"), { url })); } }); $(".yingdi-card.user").each((i, e) => { $(e).prev("p").remove(); $(e).remove(); }); $(".action-button").remove(); $(".yingdi-ballot").remove(); $("hr").remove(); return $.html(); }; //#endregion export { ProcessForm as n, ProcessFeed as t };