From 0683406e51c7e576366048b3f6029a188534608f Mon Sep 17 00:00:00 2001
From: nyaShine <127018961+nyaShine@users.noreply.github.com>
Date: Tue, 12 Sep 2023 12:04:11 +0800
Subject: [PATCH] =?UTF-8?q?add=20/lsnu/jiaowc/tzgg=20=E4=B9=90=E5=B1=B1?=
=?UTF-8?q?=E5=B8=88=E8=8C=83=E5=AD=A6=E9=99=A2=E6=95=99=E5=AD=A6=E9=83=A8?=
=?UTF-8?q?=E9=80=9A=E7=9F=A5=E5=85=AC=E5=91=8A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
lib/v2/lsnu/jiaowc/tzgg.js | 53 +++++++++++++++++++++++++++++++
lib/v2/lsnu/maintainer.js | 3 ++
lib/v2/lsnu/radar.js | 13 ++++++++
lib/v2/lsnu/router.js | 3 ++
website/docs/routes/university.md | 6 ++++
5 files changed, 78 insertions(+)
create mode 100644 lib/v2/lsnu/jiaowc/tzgg.js
create mode 100644 lib/v2/lsnu/maintainer.js
create mode 100644 lib/v2/lsnu/radar.js
create mode 100644 lib/v2/lsnu/router.js
diff --git a/lib/v2/lsnu/jiaowc/tzgg.js b/lib/v2/lsnu/jiaowc/tzgg.js
new file mode 100644
index 0000000000..5589bb97a6
--- /dev/null
+++ b/lib/v2/lsnu/jiaowc/tzgg.js
@@ -0,0 +1,53 @@
+const got = require('@/utils/got');
+const cheerio = require('cheerio');
+
+module.exports = async (ctx) => {
+ const response = await got({
+ method: 'get',
+ url: 'http://jiaowc.lsnu.edu.cn/tzgg.htm',
+ });
+
+ const data = response.data;
+
+ const $ = cheerio.load(data);
+ const list = $('tr[id^="line_u5_"]').get();
+
+ const out = await Promise.all(
+ list.map(async (item) => {
+ const $ = cheerio.load(item);
+ const title = $('a').attr('title');
+ const link = 'http://jiaowc.lsnu.edu.cn/' + $('a').attr('href');
+ const date = $('td[width="80"]').text();
+
+ const cache = await ctx.cache.get(link);
+ if (cache) {
+ return JSON.parse(cache);
+ }
+
+ const response = await got({
+ method: 'get',
+ url: link,
+ });
+
+ const articleData = response.data;
+ const article$ = cheerio.load(articleData);
+ const description = article$('.v_news_content').html();
+
+ const single = {
+ title,
+ link,
+ description,
+ pubDate: new Date(date).toUTCString(),
+ };
+
+ ctx.cache.set(link, JSON.stringify(single));
+ return Promise.resolve(single);
+ })
+ );
+
+ ctx.state.data = {
+ title: '乐山师范学院教学部通知公告',
+ link: 'http://jiaowc.lsnu.edu.cn/tzgg.htm',
+ item: out,
+ };
+};
diff --git a/lib/v2/lsnu/maintainer.js b/lib/v2/lsnu/maintainer.js
new file mode 100644
index 0000000000..5cb711d530
--- /dev/null
+++ b/lib/v2/lsnu/maintainer.js
@@ -0,0 +1,3 @@
+module.exports = {
+ '/lsnu/jiaowc': ['nyaShine'],
+};
diff --git a/lib/v2/lsnu/radar.js b/lib/v2/lsnu/radar.js
new file mode 100644
index 0000000000..44a74a42b4
--- /dev/null
+++ b/lib/v2/lsnu/radar.js
@@ -0,0 +1,13 @@
+module.exports = {
+ 'jiaowc.lsnu.edu.cn': {
+ _name: '乐山师范学院教学部',
+ '.': [
+ {
+ title: '通知公告',
+ docs: 'https://docs.rsshub.app/',
+ source: ['/'],
+ target: '/lsnu/jiaowc/tzgg',
+ },
+ ],
+ },
+};
diff --git a/lib/v2/lsnu/router.js b/lib/v2/lsnu/router.js
new file mode 100644
index 0000000000..d2f953bf1e
--- /dev/null
+++ b/lib/v2/lsnu/router.js
@@ -0,0 +1,3 @@
+module.exports = (router) => {
+ router.get('/jiaowc/tzgg', require('./jiaowc/tzgg'));
+};
diff --git a/website/docs/routes/university.md b/website/docs/routes/university.md
index 901a3e56a9..486687a0be 100644
--- a/website/docs/routes/university.md
+++ b/website/docs/routes/university.md
@@ -2009,6 +2009,12 @@ jsjxy.hbut.edu.cn 证书链不全,自建 RSSHub 可设置环境变量 NODE_TLS
+## 乐山师范学院 {#le-shan-shi-fan-xue-yuan}
+
+### 教学部通知公告 {#le-shan-shi-fan-xue-yuan-jiao-xue-bu-tong-zhi-gong-gao}
+
+
+
## 辽宁工程技术大学 {#liao-ning-gong-cheng-ji-shu-da-xue}
### 教务公告 {#liao-ning-gong-cheng-ji-shu-da-xue-jiao-wu-gong-gao}