forked from DIYgod/RSSHub
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(route): add 北京证券交易所 (DIYgod#8547)
- Loading branch information
Ethan Shen
authored
Nov 27, 2021
1 parent
8b4930e
commit 5b0d4a7
Showing
5 changed files
with
220 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,173 @@ | ||
const got = require('@/utils/got'); | ||
const timezone = require('@/utils/timezone'); | ||
const { parseDate } = require('@/utils/parse-date'); | ||
|
||
const nodes = { | ||
important_news: { | ||
id: 1289, | ||
title: '本所要闻', | ||
url: '/news/important_news.html', | ||
type: '/info/listse', | ||
}, | ||
recruit: { | ||
id: 1380, | ||
title: '人才招聘', | ||
url: '/company/recruit.html', | ||
type: '/info/listse', | ||
}, | ||
purchase: { | ||
id: 1381, | ||
title: '采购信息', | ||
url: '/purchase/list.html', | ||
type: '/info/listse', | ||
}, | ||
news_list: { | ||
id: 2676, | ||
title: '业务通知', | ||
url: '/news/news_list.html', | ||
type: '/info/listse', | ||
}, | ||
law_list: { | ||
id: 1322, | ||
title: '法律法规', | ||
url: '/rule/law_list.html', | ||
type: '/info/listse', | ||
}, | ||
public_opinion: { | ||
id: 1307, | ||
title: '公开征求意见', | ||
url: '/rule/public_opinion.html', | ||
type: '/info/listse', | ||
}, | ||
regulation_list: { | ||
id: 1300, | ||
title: '部门规章', | ||
url: '/rule/regulation_list.html', | ||
type: '/info/listse', | ||
}, | ||
fxrz_list: { | ||
id: 1302, | ||
title: '发行融资', | ||
url: '/business/fxrz_list.html', | ||
type: '/info/listse', | ||
}, | ||
cxjg_list: { | ||
id: 1303, | ||
title: '持续监管', | ||
url: '/business/cxjg_list.html', | ||
type: '/info/listse', | ||
}, | ||
jygl_list: { | ||
id: 1304, | ||
title: '交易管理', | ||
url: '/business/jygl_list.html', | ||
type: '/info/listse', | ||
}, | ||
scgl_list: { | ||
id: 1306, | ||
title: '市场管理', | ||
url: '/business/scgl_list.html', | ||
type: '/info/listse', | ||
}, | ||
meeting_notice: { | ||
id: '9531-1001', | ||
title: '上市委会议公告', | ||
url: '/notice/meeting_notice.html', | ||
type: '/disclosureInfoController/zoneInfoResult', | ||
}, | ||
meeting_result: { | ||
id: '9531-1002', | ||
title: '上市委会议结果公告', | ||
url: '/notice/meeting_result.html', | ||
type: '/disclosureInfoController/zoneInfoResult', | ||
}, | ||
meeting_change: { | ||
id: '9531-1003', | ||
title: '上市委会议变更公告', | ||
url: '/notice/meeting_notice.html', | ||
type: '/disclosureInfoController/zoneInfoResult', | ||
}, | ||
bgcz_notice: { | ||
id: '9536-1001', | ||
title: '并购重组委会议公告', | ||
url: '/notice/bgcz_notice.html', | ||
type: '/disclosureInfoController/zoneInfoResult', | ||
}, | ||
bgcz_result: { | ||
id: '9536-1002', | ||
title: '并购重组委会议结果公告', | ||
url: '/notice/bgcz_result.html', | ||
type: '/disclosureInfoController/zoneInfoResult', | ||
}, | ||
bgcz_change: { | ||
id: '9536-1003', | ||
title: '并购重组委会议变更公告', | ||
url: '/notice/bgcz_notice.html', | ||
type: '/disclosureInfoController/zoneInfoResult', | ||
}, | ||
termination_audit: { | ||
id: '9530-3001', | ||
title: '终止审核', | ||
url: '/notice/termination_audit.html', | ||
type: '/disclosureInfoController/zoneInfoResult', | ||
}, | ||
audit_result: { | ||
id: '9532-1001', | ||
title: '注册结果', | ||
url: '/notice/audit_result.html', | ||
type: '/disclosureInfoController/zoneInfoResult', | ||
}, | ||
}; | ||
|
||
module.exports = async (ctx) => { | ||
const category = ctx.params.category ?? 'important_news'; | ||
const keyword = ctx.params.keyword ?? ''; | ||
|
||
const type = nodes[category].type; | ||
const rootUrl = 'http://www.bse.cn'; | ||
const currentUrl = `${rootUrl}${type}.do`; | ||
|
||
const response = await got({ | ||
method: 'post', | ||
url: currentUrl, | ||
form: { | ||
page: 0, | ||
pageSize: ctx.query.limit ? parseInt(ctx.query.limit) : 50, | ||
keywords: keyword, | ||
'nodeIds[]': type === '/info/listse' ? nodes[category].id : undefined, | ||
disclosureSubtype: type === '/info/listse' ? undefined : nodes[category].id, | ||
}, | ||
}); | ||
|
||
const data = JSON.parse(response.data.match(/null\(\[({.*})\]\)/)[1]); | ||
|
||
let items = []; | ||
|
||
switch (nodes[category].type) { | ||
case '/info/listse': { | ||
items = data.data.content.map((item) => ({ | ||
title: item.title, | ||
category: item.tags, | ||
description: item.text, | ||
link: `${rootUrl}${item.htmlUrl}`, | ||
pubDate: timezone(parseDate(item.publishDate), +8), | ||
})); | ||
break; | ||
} | ||
case '/disclosureInfoController/zoneInfoResult': { | ||
items = data.listInfo.content.map((item) => ({ | ||
title: item.disclosureTitle, | ||
link: `${rootUrl}${item.destFilePath}`, | ||
pubDate: parseDate(item.pubDate.time), | ||
})); | ||
break; | ||
} | ||
} | ||
|
||
ctx.state.data = { | ||
title: `${nodes[category].title} - 北京证券交易所`, | ||
link: `${rootUrl}${nodes[category].url}`, | ||
item: items, | ||
allowEmpty: true, | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
module.exports = { | ||
'/:category?/:keyword?': ['nczitzk'], | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
module.exports = { | ||
'bse.cn': { | ||
_name: '北京证券交易所', | ||
'.': [ | ||
{ | ||
title: '栏目', | ||
docs: 'https://docs.rsshub.app/finance.html#bei-jing-zheng-quan-jiao-yi-suo-lan-mu', | ||
source: ['/'], | ||
target: '/bse/:category?/:keyword?', | ||
}, | ||
], | ||
}, | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
module.exports = function (router) { | ||
router.get('/:category?/:keyword?', require('./index')); | ||
}; |