UNPKG

rsshub

Version:
80 lines (79 loc) 2.81 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 md5 } from "./md5-CpIHIxCO.mjs"; import { t as timezone } from "./timezone-DE--ze1V.mjs"; //#region lib/routes/jingzhengu/utils.ts function link(str, ...args) { let result = args.map((arg) => arg + str).join(""); if (result.search("-")) result = result.slice(0, Math.max(0, result.length - 1)); return result; } function replaceCharAt(str, index, replacement) { return index < 0 || index >= str.length ? str : str.slice(0, index) + replacement + str.slice(index + 1); } function sign(payload) { const map = /* @__PURE__ */ new Map(); const lowerCaseKeys = []; for (const [key, value] of payload) { const lowerCaseKey = key.toLowerCase(); lowerCaseKeys.push(lowerCaseKey); map.set(lowerCaseKey, String(value).toLowerCase()); } const sortedString = lowerCaseKeys.toSorted((a, b) => a.localeCompare(b)).map((key) => key + "=" + map.get(key)).join(""); const linkedString = link("--".slice(0, 1), "#CEAIWER", "892F", "KB97", "JKB6", "HJ7OC7C8", "GJZG"); return md5((sortedString + replaceCharAt(linkedString, linkedString.lastIndexOf("--".slice(0, 1)), "")).toLowerCase()); } //#endregion //#region lib/routes/jingzhengu/news.ts const route = { path: "/news", categories: ["other"], example: "/jingzhengu/news", radar: [{ source: ["www.jingzhengu.com"] }], name: "资讯", maintainers: ["TonyRL"], handler, url: "www.jingzhengu.com" }; async function handler() { const baseUrl = "https://www.jingzhengu.com"; const payload = /* @__PURE__ */ new Map([["pageNo", 1], ["middleware", String(Date.now())]]); const response = await rofetch(`${baseUrl}/news/makeNewsInfo`, { method: "POST", body: { ...Object.fromEntries(payload), sign: sign(payload) } }); const items = await Promise.all(response.data.articles.map((article) => { const link = `${baseUrl}/#/cn/Details_${article.addDate.split(" ", 1)[0].replaceAll("-", "")}${article.id}.html`; const item = { title: article.title, description: article.summary, link, pubDate: timezone(parseDate(article.addDate, "YYYY-MM-DD HH:mm:ss"), 8), author: article.author, id: String(article.id) }; return cache_default.tryGet(link, async () => { const payload = /* @__PURE__ */ new Map([["id", article.id], ["middleware", String(Date.now())]]); const detail = await rofetch(`${baseUrl}/news/makeNewsDetail`, { method: "POST", body: { ...Object.fromEntries(payload), sign: sign(payload) } }); item.description = detail.data.content; return item; }); })); return { title: "精真估 > 资讯", link: `${baseUrl}/#/index/boot`, item: items }; } //#endregion export { route };