diff --git a/docs/traditional-media.md b/docs/traditional-media.md index acd2283f2..330d12fcb 100644 --- a/docs/traditional-media.md +++ b/docs/traditional-media.md @@ -385,6 +385,10 @@ Category 列表: +### 财新一线 + + + ## 第一财经 ### 直播区 diff --git a/lib/router.js b/lib/router.js index b17bec9bc..5c591ef45 100644 --- a/lib/router.js +++ b/lib/router.js @@ -395,6 +395,8 @@ router.get('/caixin/blog/:column', require('./routes/caixin/blog')); router.get('/caixin/:column/:category', require('./routes/caixin/category')); // 财新首页 router.get('/caixin/article', require('./routes/caixin/article')); +// 财新一线 +router.get('/caixin/yxnews', require('./routes/caixin/yxnews')); // 草榴社区 router.get('/t66y/post/:tid', require('./routes/t66y/post')); diff --git a/lib/routes/caixin/yxnews.js b/lib/routes/caixin/yxnews.js new file mode 100644 index 000000000..abba09735 --- /dev/null +++ b/lib/routes/caixin/yxnews.js @@ -0,0 +1,30 @@ +const got = require('@/utils/got'); + +module.exports = async (ctx) => { + const response = await got({ + method: 'get', + url: 'http://k.caixin.com/app/v1/list?productIdList=8,28&uid=&unit=1&name=&code=&deviceType=&device=&userTag=&p=1&c=20', + headers: { + Referer: `http://k.caixin.com/web/`, + Host: 'k.caixin.com', + }, + }); + + const data = response.data.data.list; + const items = await Promise.all( + data.map(async (item) => ({ + title: item.title, + description: item.text, + link: `http://k.caixin.com/web/detail_${item.oneline_news_code}`, + pubDate: new Date(item.ts), + author: '财新一线', + })) + ); + + ctx.state.data = { + title: `财新网 - 财新一线新闻`, + link: `http://k.caixin.com/`, + description: `财新网 - 财新一线新闻`, + item: items, + }; +};