rsshub
Version:
Make RSS Great Again!
155 lines (136 loc) • 4.27 kB
JavaScript
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 };