四川旅游学院:优化路由,便于后期扩展,增加获取详细信息api (#1189)
This commit is contained in:
parent
9481f24db4
commit
526f47fc9c
|
|
@ -1412,14 +1412,22 @@ category 列表:
|
|||
|
||||
### 四川旅游学院
|
||||
|
||||
<route name="信息与工程学院动态公告" author="talenHuang" example="/sctu/xgxy" path="/universities/sctu/xgxy"/>
|
||||
<route name="信息与工程学院动态公告列表" author="talenHuang" example="/sctu/xgxy" path="/universities/sctu/information-engineer-faculty/index">
|
||||
|
||||
<route name="教务处" author="talenHuang" example="/sctu/jwc/13" path="/universities/sctu/jwc:type?" :paramsDesc="['可选参数, 默认为 `13`']">
|
||||
</route>
|
||||
|
||||
<route name="信息与工程学院公告详情" author="talenHuang" example="/sctu/xgxy/652" path="/universities/sctu/information-engineer-faculty/context/:id" :paramsDesc="['文章id']">
|
||||
|
||||
</route>
|
||||
|
||||
<route name="教务处" author="talenHuang" example="/sctu/jwc/13" path="/universities/sctu/jwc/index:type?" :paramsDesc="['可选参数, 默认为 `13`']">
|
||||
|
||||
| 教务通知 | 信息公告 |
|
||||
| -------- | -------- |
|
||||
| 13 | 14 |
|
||||
|
||||
<route name="教务处通告详情" author="talenHuang" example="/sctu/jwc/13/645" path="/universities/sctu/jwc/context/:type/:id" :paramsDesc="['通知类型','文章id']">
|
||||
|
||||
</route>
|
||||
|
||||
### 电子科技大学
|
||||
|
|
|
|||
|
|
@ -596,8 +596,10 @@ router.get('/njust/cwc/:type', require('./routes/universities/njust/cwc'));
|
|||
router.get('/njust/gs/:type', require('./routes/universities/njust/gs'));
|
||||
|
||||
// 四川旅游学院
|
||||
router.get('/sctu/xgxy', require('./routes/universities/sctu/xgxy'));
|
||||
router.get('/sctu/jwc/:type?', require('./routes/universities/sctu/jwc'));
|
||||
router.get('/sctu/xgxy', require('./routes/universities/sctu/information-engineer-faculty/index'));
|
||||
router.get('/sctu/xgxy/:id', require('./routes/universities/sctu/information-engineer-faculty/context'));
|
||||
router.get('/sctu/jwc/:type?', require('./routes/universities/sctu/jwc/index'));
|
||||
router.get('/sctu/jwc/:type/:id', require('./routes/universities/sctu/jwc/context'));
|
||||
|
||||
// 电子科技大学
|
||||
router.get('/uestc/jwc/:type?', require('./routes/universities/uestc/jwc'));
|
||||
|
|
|
|||
|
|
@ -0,0 +1,44 @@
|
|||
const axios = require('../../../../utils/axios');
|
||||
const cheerio = require('cheerio');
|
||||
const iconv = require('iconv-lite');
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
const response = await axios({
|
||||
method: 'get',
|
||||
url: `http://it.sctu.edu.cn/data.asp?fa=2&fl=12&zi=0&id=${ctx.params.id}`,
|
||||
responseType: 'arraybuffer',
|
||||
headers: {
|
||||
Referer: 'http://it.sctu.edu.cn/',
|
||||
},
|
||||
});
|
||||
|
||||
const formal = (buffer) => {
|
||||
// HTML-buffer转为gb2312
|
||||
const data = iconv.decode(buffer, 'gb2312');
|
||||
|
||||
return cheerio.load(data);
|
||||
};
|
||||
|
||||
const $ = formal(response.data);
|
||||
|
||||
const list = $('.data');
|
||||
|
||||
ctx.state.data = {
|
||||
title: '四川旅游学院',
|
||||
link: 'http://www.sctu.edu.cn',
|
||||
description: $('meta[name="description"]').attr('content'),
|
||||
item:
|
||||
list &&
|
||||
list
|
||||
.map((index, item) => {
|
||||
item = $(item);
|
||||
|
||||
return {
|
||||
title: $(item.find('.data_bt')).text(),
|
||||
pubDate: $(item.find('.data_in')).text(),
|
||||
description: item.find('.data_co').html(),
|
||||
};
|
||||
})
|
||||
.get(),
|
||||
};
|
||||
};
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
const axios = require('../../../utils/axios');
|
||||
const axios = require('../../../../utils/axios');
|
||||
const cheerio = require('cheerio');
|
||||
const iconv = require('iconv-lite');
|
||||
|
||||
|
|
@ -19,7 +19,7 @@ module.exports = async (ctx) => {
|
|||
const list = $('.list_dt a');
|
||||
|
||||
ctx.state.data = {
|
||||
title: '四川旅游学院首页',
|
||||
title: '四川旅游学院信息与工程系',
|
||||
link: 'http://www.sctu.edu.cn',
|
||||
description: $('meta[name="description"]').attr('content'),
|
||||
item:
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
const axios = require('../../../../utils/axios');
|
||||
const cheerio = require('cheerio');
|
||||
const iconv = require('iconv-lite');
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
const response = await axios({
|
||||
method: 'get',
|
||||
url: `http://www.sctu.edu.cn/jwc/content.asp?type=12&fl=${ctx.params.type}&id=${ctx.params.id}`,
|
||||
responseType: 'arraybuffer',
|
||||
headers: {
|
||||
Referer: 'http://sctu.edu.cn/',
|
||||
},
|
||||
});
|
||||
|
||||
const formal = (buffer) => {
|
||||
// HTML-buffer转为gb2312
|
||||
const data = iconv.decode(buffer, 'gb2312');
|
||||
|
||||
return cheerio.load(data);
|
||||
};
|
||||
|
||||
const $ = formal(response.data);
|
||||
|
||||
const list = $('#list2');
|
||||
|
||||
ctx.state.data = {
|
||||
title: '四川旅游学院信息与工程学院',
|
||||
link: 'http://www.sctu.edu.cn',
|
||||
description: $('meta[name="description"]').attr('content'),
|
||||
item:
|
||||
list &&
|
||||
list
|
||||
.map((index, item) => {
|
||||
item = $(item);
|
||||
|
||||
return {
|
||||
title: $(item.find('.title')).text(),
|
||||
pubDate: $(item.find('.info')).text(),
|
||||
description: item.html(),
|
||||
};
|
||||
})
|
||||
.get(),
|
||||
};
|
||||
};
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
const axios = require('../../../utils/axios');
|
||||
const axios = require('../../../../utils/axios');
|
||||
const cheerio = require('cheerio');
|
||||
const iconv = require('iconv-lite');
|
||||
|
||||
|
|
@ -13,15 +13,19 @@ module.exports = async (ctx) => {
|
|||
},
|
||||
});
|
||||
|
||||
// HTML-buffer转为gb2312
|
||||
const data = iconv.decode(response.data, 'gb2312');
|
||||
const formal = (buffer) => {
|
||||
// HTML-buffer转为gb2312
|
||||
const data = iconv.decode(buffer, 'gb2312');
|
||||
|
||||
const $ = cheerio.load(data);
|
||||
return cheerio.load(data);
|
||||
};
|
||||
|
||||
const $ = formal(response.data);
|
||||
|
||||
const list = $('#list1 ul li');
|
||||
|
||||
ctx.state.data = {
|
||||
title: '四川旅游学院首页',
|
||||
title: '四川旅游学院',
|
||||
link: 'http://www.sctu.edu.cn',
|
||||
description: $('meta[name="description"]').attr('content'),
|
||||
item:
|
||||
Loading…
Reference in New Issue