feat: add 证监会消息 (#2664)

This commit is contained in:
Chenyang Shi
2019-07-22 15:55:44 +08:00
committed by DIYgod
parent fcce45388f
commit ac6977a16e
3 changed files with 20 additions and 8 deletions

View File

@@ -77,6 +77,16 @@ pageClass: routes
</Route>
## 中国证券监督管理委员会
### 发审委公告
<Route author="chinobing" example="/csrc/fashenwei" path="/csrc/fashenwei"/>
### 证监会消息
<Route author="chinobing LogicJake" example="/csrc/news/zjhxwfb-xwfbh" path="/csrc/news/:suffix?" :paramsDesc="['支持形如 http://www.csrc.gov.cn/pub/newsite/*/* 的网站,将 newsite 后面的两段网址后缀以"-"连接']" />
## 中国驻外使领馆
### 大使馆重要通知

View File

@@ -1470,7 +1470,7 @@ router.get('/8btc/:authorid', require('./routes/8btc/author'));
router.get('/vuevideo/:userid', require('./routes/vuevideo/user'));
// 证监会
router.get('/csrc/news', require('./routes/csrc/news'));
router.get('/csrc/news/:suffix?', require('./routes/csrc/news'));
router.get('/csrc/fashenwei', require('./routes/csrc/fashenwei'));
// LWN.net Alerts

View File

@@ -1,10 +1,14 @@
const cheerio = require('cheerio');
const got = require('@/utils/got');
const { resolve } = require('url');
module.exports = async (ctx) => {
const url = 'http://www.csrc.gov.cn/pub/newsite/zjhxwfb/xwdd/';
let suffix = ctx.params.suffix || 'zjhxwfb-xwdd';
suffix = suffix.replace('-', '/');
const url = resolve('http://www.csrc.gov.cn/pub/newsite/', suffix + '/');
const res = await got.get(url);
const $ = cheerio.load(res.data);
const title = $('div.title .bt').text();
const list = $('.fl_list li').get();
const out = await Promise.all(
@@ -12,10 +16,8 @@ module.exports = async (ctx) => {
const $ = cheerio.load(item);
const time = $('span').text();
const title = $('a').text();
const sub_url = $('a')
.attr('href')
.slice(2);
const itemUrl = url + sub_url;
const sub_url = $('a').attr('href');
const itemUrl = resolve(url, sub_url);
const cache = await ctx.cache.get(itemUrl);
if (cache) {
return Promise.resolve(JSON.parse(cache));
@@ -29,14 +31,14 @@ module.exports = async (ctx) => {
pubDate: new Date(time).toUTCString(),
link: itemUrl,
guid: itemUrl,
description: $d('.content .Custom_UnionStyle').html(),
description: $d('.content .Custom_UnionStyle').html() || $d('.contentss').html() || $d('.Section0').html(),
};
ctx.cache.set(itemUrl, JSON.stringify(single));
return Promise.resolve(single);
})
);
ctx.state.data = {
title: $('title').text(),
title: `中国证券监督管理委员会-${title}`,
link: url,
item: out,
};