feat: add SJTU/tongqu latest activities (#3757)

This commit is contained in:
SeanChao
2020-01-16 21:11:56 +08:00
committed by DIYgod
parent 5acbd4441b
commit db809f7920
3 changed files with 35 additions and 0 deletions

View File

@@ -866,6 +866,10 @@ https://rsshub.app/**nuist**/`bulletin` 或 https://rsshub.app/**nuist**/`bullet
</Route>
### 同去网最新活动
<Route author="SeanChao" example="/sjtu/tongqu" path="/universities/sjtu/tongqu"/>
## 上海科技大学
### 信息科技与技术学院活动

View File

@@ -570,6 +570,7 @@ router.get('/sjtu/seiee/xsb/:type?', require('./routes/universities/sjtu/seiee/x
router.get('/sjtu/gs/tzgg/:type?', require('./routes/universities/sjtu/gs/tzgg'));
router.get('/sjtu/jwc/:type?', require('./routes/universities/sjtu/jwc'));
router.get('/sjtu/tongqu', require('./routes/universities/sjtu/tongqu/activity'));
// 江南大学
router.get('/ju/jwc/:type?', require('./routes/universities/ju/jwc'));

View File

@@ -0,0 +1,30 @@
const got = require('@/utils/got');
const cheerio = require('cheerio');
const url = require('url');
const urlRoot = 'https://tongqu.sjtu.edu.cn/';
module.exports = async (ctx) => {
const sectionLink = url.resolve(urlRoot, 'act/type?type=-1&status=0&order=act.create_time');
const response = await got(sectionLink);
const data = response.body;
const $ = cheerio.load(data);
const activityInfo = $('body > script:nth-child(2)')
.html()
.match('var g_init_type_acts = (.*?);')[1];
const activities = JSON.parse(activityInfo).acts;
const out = activities.map((i) => {
const title = '【' + i.typename + '】' + i.name;
const link = url.resolve(urlRoot, '/act/' + i.actid);
const single = { title, link };
return single;
});
ctx.state.data = {
title: '同去网最新活动',
link: sectionLink,
item: out,
};
};