feat: csrc audit status (#3081)

This commit is contained in:
hillerliao 2019-09-15 23:06:44 +08:00 committed by DIYgod
parent ca8ff9b9f1
commit 4e8be643e2
5 changed files with 80 additions and 3 deletions

View File

@ -117,6 +117,10 @@ pageClass: routes
<Route author="chinobing LogicJake" example="/csrc/news/zjhxwfb-xwfbh" path="/csrc/news/:suffix?" :paramsDesc="['支持形如`http://www.csrc.gov.cn/pub/newsite/*/*`的网站,将 newsite 后面的两段网址后缀以 - 连接']" />
### 申请事项进度
<Route author="hillerliao" example="/csrc/auditstatus/:apply_id" path="/csrc/auditstatus" :paramsDesc="['事项类别id `https://neris.csrc.gov.cn/alappl/home/xkDetail` 列表中各地址的 appMatrCde 参数']"/>
## 中国驻外使领馆
### 大使馆重要通知

View File

@ -758,9 +758,9 @@ pageClass: routes
## 选股宝
### 最新动态
### 主题
<Route author="hillerliao" example="/xuangubao/subject/41" path="/xuangubao/subject/:subject_id" :paramsDesc="['主题 id网址 https://xuangubao.cn/subject/41 中最后的数字']" />
<Route author="hillerliao" example="/xuangubao/subject/41" path="/xuangubao/subject/:subject_id" :paramsDesc="['主题 id网址 https://xuangubao.cn/subject/41 中最后的数字']"/>
## 异次元软件世界

View File

@ -1481,6 +1481,7 @@ router.get('/vuevideo/:userid', require('./routes/vuevideo/user'));
// 证监会
router.get('/csrc/news/:suffix?', require('./routes/csrc/news'));
router.get('/csrc/fashenwei', require('./routes/csrc/fashenwei'));
router.get('/csrc/auditstatus/:apply_id', require('./routes/csrc/auditstatus'));
// LWN.net Alerts
router.get('/lwn/alerts/:distributor', require('./routes/lwn/alerts'));

View File

@ -0,0 +1,72 @@
const cheerio = require('cheerio');
const got = require('@/utils/got');
module.exports = async (ctx) => {
const apply_id = ctx.params.apply_id;
const userAgent = 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1';
const item_url = `https://neris.csrc.gov.cn/alappl/home1/onlinealog?appMatrCde=${apply_id}`;
const url = 'https://neris.csrc.gov.cn/alappl/home1/onlinealog.do';
const res = await got({
// method: 'get',
method: 'post',
url: url,
headers: {
'User-Agent': userAgent,
},
form: true,
data: {
appMatrCde: apply_id,
pageNo: 1,
pageSize: 10,
},
rejectUnauthorized: false,
});
const $ = cheerio.load(res.data);
const list = $('tr[height=50]').get();
const out = await Promise.all(
list.map(async (item) => {
const $ = cheerio.load(item);
const audit_status_td = $('td[style="font-weight:100 ;color: black ;position: relative;left:20px"]');
const audit_status = audit_status_td.eq(-1).text();
const title = '【' + audit_status + '】' + $('li.templateTip').text();
const audit_date = audit_status_td
.eq(-1)
.next('td')
.text();
let audit_desc = '';
if (audit_status_td.length > 1) {
for (let i = 0; i < audit_status_td.length; i++) {
audit_desc +=
audit_status_td
.eq(i)
.next('td')
.text() +
'' +
audit_status_td.eq(i).text() +
'';
}
} else {
audit_desc = audit_date + '' + audit_status;
}
const description = $('li.templateTip').text() + '' + audit_desc;
const itemUrl = item_url;
const single = {
title,
description,
pubDate: new Date(audit_date).toUTCString(),
link: itemUrl,
guid: itemUrl,
};
return Promise.resolve(single);
})
);
ctx.state.data = {
title: '申请事项进度查询 - 中国证监会',
link: item_url,
item: out,
};
};

View File

@ -24,7 +24,7 @@ module.exports = async (ctx) => {
const out = messagesList.map((item) => {
const date = item.CreatedAt;
const link = item.OriginalUrl;
const link = item.Url;
const title = item.Title;
const description = item.Summary;