UNPKG

rsshub

Version:
58 lines (57 loc) 2.1 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/ahut/cstzgg.ts const route = { path: "/cstzgg", categories: ["university"], example: "/ahut/cstzgg", name: "计算机学院公告", maintainers: ["Diffumist"], handler }; async function handler() { const baseUrl = "https://cs.ahut.edu.cn"; const [listResponse, indexResponse] = await Promise.all([rofetch(`${baseUrl}/index/tzgg.htm`), rofetch(`${baseUrl}/index.htm`)]); const $list = load(listResponse); const list = $list("li[id^=\"line_u\"]").toArray().map((item) => { const $item = $list(item); return { title: $item.find("a").text().trim(), link: new URL($item.find("a").attr("href"), `${baseUrl}/index/tzgg.htm`).href, pubDate: timezone(parseDate($item.find("span").text(), "YYYY/MM/DD"), 8) }; }); const $index = load(indexResponse); const currentYear = (/* @__PURE__ */ new Date()).getFullYear(); const indexList = $index("div[frag=\"窗口21\"] .i-list li").toArray().map((item) => { const $item = $index(item); return { title: $item.find("a").text(), link: new URL($item.find("a").attr("href"), `${baseUrl}/index.htm`).href, pubDate: timezone(parseDate(`${currentYear}/${$item.find("span").text()}`, "YYYY/MM/DD"), 8) }; }); const seen = new Set(list.map((item) => item.link)); const merged = [...list, ...indexList.filter((item) => !seen.has(item.link))]; const out = await Promise.all(merged.map((item) => { if (item.link.includes("content.jsp")) return item; return cache_default.tryGet(item.link, async () => { const $ = load(await rofetch(item.link)); return { ...item, description: $(".v_news_content").html() }; }); })); return { title: "安徽工业大学 - 计算机学院公告", link: `${baseUrl}/index/tzgg.htm`, description: "安徽工业大学 - 计算机学院公告", item: out }; } //#endregion export { route };