From e3f4f2f6ca781f092ee424b4b5ef79ad6e16b467 Mon Sep 17 00:00:00 2001 From: xu yang Date: Wed, 16 Jan 2019 18:29:55 +0800 Subject: [PATCH] +wallstreetcn router (#1405) +wallstreetcn router --- docs/README.md | 4 ++++ lib/router.js | 3 +++ lib/routes/wallstreetcn/news.js | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 lib/routes/wallstreetcn/news.js diff --git a/docs/README.md b/docs/README.md index 4df41ae8b..7b818b963 100644 --- a/docs/README.md +++ b/docs/README.md @@ -2014,6 +2014,10 @@ Solidot 提供的 feed: +### 华尔街见闻 + + + ## 预报预警 ### 停水通知 diff --git a/lib/router.js b/lib/router.js index 49957bf3c..f35342ca0 100644 --- a/lib/router.js +++ b/lib/router.js @@ -964,4 +964,7 @@ router.get('/jingdong/zhongchou/:type/:status/:sort', require('./routes/jingdong // 淘宝众筹 router.get('/taobao/zhongchou/:type?', require('./routes/taobao/zhongchou')); +// 华尔街见闻 +router.get('/wallstreetcn/news/global', require('./routes/wallstreetcn/news')); + module.exports = router; diff --git a/lib/routes/wallstreetcn/news.js b/lib/routes/wallstreetcn/news.js new file mode 100644 index 000000000..adb9494fe --- /dev/null +++ b/lib/routes/wallstreetcn/news.js @@ -0,0 +1,33 @@ +const axios = require('../../utils/axios'); + +module.exports = async (ctx) => { + const response = await axios({ + method: 'get', + url: 'https://api-prod.wallstreetcn.com/apiv1/content/fabricate-articles?limit=30&channel=global', + }); + + const data = response.data; + const stateData = { + title: '华尔街见闻', + link: 'https://wallstreetcn.com/news/global', + description: '华尔街见闻-中国领先的商业和金融信息提供商,首创商业和金融信息“实时”模式,重要信息秒级推送。7*24小时全年不间断为用户提供资讯、数据、行情、研究和社区等服务。', + item: [], + }; + + if (data.data && Array.isArray(data.data.items)) { + data.data.items.forEach((item) => { + if (item.resource_type !== 'article') { + return; + } + stateData.item.push({ + title: item.resource.title, + description: item.resource.content_short, + pubDate: new Date(item.resource.display_time * 1000).toUTCString(), + guid: item.resource.id, + link: decodeURI(item.resource.uri), + author: item.resource.author && item.resource.author.display_name, + }); + }); + } + ctx.state.data = stateData; +};