From c626a9cc7c4c5d2bb0e662790ce89275b13670ca Mon Sep 17 00:00:00 2001 From: XinRoom <32238570+XinRoom@users.noreply.github.com> Date: Sat, 27 Nov 2021 16:43:29 +0800 Subject: [PATCH] =?UTF-8?q?feat(route):=20add=20=E5=AE=89=E5=85=A8?= =?UTF-8?q?=E5=86=85=E5=8F=82=20(#8096)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: DIYgod --- docs/programming.md | 10 ++++++++++ lib/router.js | 4 ++++ lib/routes/secrss/author.js | 22 ++++++++++++++++++++++ lib/routes/secrss/category.js | 25 +++++++++++++++++++++++++ 4 files changed, 61 insertions(+) create mode 100644 lib/routes/secrss/author.js create mode 100644 lib/routes/secrss/category.js diff --git a/docs/programming.md b/docs/programming.md index 4370bb4c7..c5c924605 100644 --- a/docs/programming.md +++ b/docs/programming.md @@ -450,6 +450,16 @@ GitHub 官方也提供了一些 RSS: +## 安全内参 + +### 分类 + + + +### 作者 + + + ## 安全文摘 ### 首页 diff --git a/lib/router.js b/lib/router.js index c25f87230..3a36ce286 100644 --- a/lib/router.js +++ b/lib/router.js @@ -4259,4 +4259,8 @@ router.get('/fashionnetwork/news/:sectors?/:categories?/:language?', lazyloadRou // dykszx router.get('/dykszx/news/:type?', lazyloadRouteHandler('./routes/dykszx/news')); +// 安全内参 +router.get('/secrss/category/:category?', lazyloadRouteHandler('./routes/secrss/category')); +router.get('/secrss/author/:author?', lazyloadRouteHandler('./routes/secrss/author')); + module.exports = router; diff --git a/lib/routes/secrss/author.js b/lib/routes/secrss/author.js new file mode 100644 index 000000000..d61b84115 --- /dev/null +++ b/lib/routes/secrss/author.js @@ -0,0 +1,22 @@ +const got = require('@/utils/got'); + +module.exports = async (ctx) => { + const api = 'https://www.secrss.com/api/articles/group?author='; + const author = ctx.params.author; + const host = 'https://www.secrss.com'; + const res = await got.get(`${api}${author}`); + const dataArray = res.data.data.list; + + const items = dataArray.map((item) => ({ + title: item.title, + description: item.summary, + pubDate: new Date(item.original_timestamp * 1000).toUTCString(), + link: `${host}${item.url}`, + })); + + ctx.state.data = { + title: `安全内参-${author}`, + link: 'https://www.secrss.com', + item: items, + }; +}; diff --git a/lib/routes/secrss/category.js b/lib/routes/secrss/category.js new file mode 100644 index 000000000..dd787d568 --- /dev/null +++ b/lib/routes/secrss/category.js @@ -0,0 +1,25 @@ +const got = require('@/utils/got'); + +module.exports = async (ctx) => { + const api = 'https://www.secrss.com/api/articles?tag='; + let type = ctx.params.category; + if (type === undefined) { + type = ""; + } + const host = 'https://www.secrss.com'; + const res = await got.get(`${api}${type}`); + const dataArray = res.data.data; + + const items = dataArray.map((item) => ({ + title: item.title, + description: item.summary, + pubDate: new Date(item.published_at + " GMT").toUTCString(), + link: `${host}/articles/${item.id}`, + })); + + ctx.state.data = { + title: `安全内参-${type}`, + link: 'https://www.secrss.com', + item: items, + }; +};