UNPKG

rsshub

Version:
155 lines (136 loc) 4.27 kB
import "./esm-shims-CzJ_djXG.mjs"; import "./config-C37vj7VH.mjs"; import "./dist-BInvbO1W.mjs"; import "./logger-Czu8UMNd.mjs"; import "./ofetch-BIyrKU3Y.mjs"; import { t as parseDate } from "./parse-date-BrP7mxXf.mjs"; import { t as cache_default } from "./cache-Bo__VnGm.mjs"; import "./helpers-DxBp0Pty.mjs"; import { t as got_default } from "./got-KxxWdaxq.mjs"; import { load } from "cheerio"; //#region lib/routes/hrbeu/ugs/news.ts const baseUrl = "http://ugs.hrbeu.edu.cn"; const authorMap = { gztz: { all: "/2821" }, jwc: { all: "/jwc", jxap: "/2847", ksgl: "/2895", xjgl: "/2902", wytk: "/2897", cjgl: "/2901" }, sjjxyjlc: { all: "/3206", syjx: "/2847", sysjs: "/sysjs", xwsx: "/2909", xwlw: "/2910", kcsj: "/2911", cxcy: "/2913", xjjl: "/xjjl" }, jypgc: { all: "/3207", jxyjyjxcg: "/2916", zljk: "/2917" }, zyjsc: { all: "/3208", zyyjcjs: "/2914", cgsyb: "/2925", jxmsyyxzjjs: "/2918", ktjs: "/2919", syjx: "/2920" }, gjdxswhszjd: { all: "/3209" }, jsjxfzzx: { all: "/3210", jspx: "/2915" }, zhbgs: { all: "/3211", lxkc: "/lxkc" } }; const route = { path: "/ugs/news/:author?/:category?", categories: ["university"], example: "/hrbeu/ugs/news/jwc/jxap", parameters: { author: "发布部门,默认为 `gztz`", category: "分类,默认为 `all`" }, features: { requireConfig: false, requirePuppeteer: false, antiCrawler: false, supportBT: false, supportPodcast: false, supportScihub: false }, radar: [{ source: ["ugs.hrbeu.edu.cn/:author/list.htm"], target: "/ugs/news/:author" }], name: "本科生院工作通知", maintainers: ["XYenon"], handler, description: `author 列表: | 教务处 | 实践教学与交流处 | 教育评估处 | 专业建设处 | 国家大学生文化素质基地 | 教师教学发展中心 | 综合办公室 | 工作通知 | | ------ | ---------------- | ---------- | ---------- | ---------------------- | ---------------- | ---------- | -------- | | jwc | sjjxyjlzx | jypgc | zyjsc | gjdxswhszjd | jsjxfzzx | zhbgs | gztz | category 列表: \`all\` 为全部 教务处: | 教学安排 | 考试管理 | 学籍管理 | 外语统考 | 成绩管理 | | -------- | -------- | -------- | -------- | -------- | | jxap | ksgl | xjgl | wytk | cjgl | 实践教学与交流处: | 实验教学 | 实验室建设 | 校外实习 | 学位论文 | 课程设计 | 创新创业 | 校际交流 | | -------- | ---------- | -------- | -------- | -------- | -------- | -------- | | syjx | sysjs | xwsx | xwlw | kcsj | cxcy | xjjl | 教育评估处: | 教学研究与教学成果 | 质量监控 | | ------------------ | -------- | | jxyjyjxcg | zljk | 专业建设处: | 专业与教材建设 | 陈赓实验班 | 教学名师与优秀主讲教师 | 课程建设 | 双语教学 | | -------------- | ---------- | ---------------------- | -------- | -------- | | zyyjcjs | cgsyb | jxmsyyxzjjs | kcjs | syjx | 国家大学生文化素质基地:无 教师教学发展中心: | 教师培训 | | -------- | | jspx | 综合办公室: | 联系课程 | | -------- | | lxkc | 工作通知:无` }; async function handler(ctx) { const author = ctx.req.param("author") || "gztz"; const category = ctx.req.param("category") || "all"; const link = baseUrl + authorMap[author][category] + "/list.htm"; const $ = load((await got_default(link, { headers: { Referer: baseUrl } })).data); const list = $(".wp_article_list_table .border9").toArray().map((e) => { e = $(e); return { title: e.find("a").attr("title"), link: new URL(e.find("a").attr("href"), baseUrl).href, pubDate: parseDate(e.find(".date").text()) }; }); return { title: "哈尔滨工程大学本科生院工作通知", link, item: await Promise.all(list.map((item) => cache_default.tryGet(item.link, async () => { if (item.link.includes(".htm")) item.description = load((await got_default(item.link)).data)(".wp_articlecontent").html().trim(); else item.description = "此链接为文件,请点击下载"; return item; }))) }; } //#endregion export { route };