diff --git a/docs/new-media.md b/docs/new-media.md index ebc5e352c5..eec38865ff 100644 --- a/docs/new-media.md +++ b/docs/new-media.md @@ -2113,3 +2113,7 @@ QueryString: ### 全文 + +## 鱼塘热榜 + + \ No newline at end of file diff --git a/lib/router.js b/lib/router.js index 3f293e8317..9f95ea46b6 100644 --- a/lib/router.js +++ b/lib/router.js @@ -3786,6 +3786,9 @@ router.get('/nace/blog/:sort?', require('./routes/nace/blog')); // Caixin Latest router.get('/caixin/latest', require('./routes/caixin/latest')); +// 鱼塘热榜 +router.get('/mofish/:id', require('./routes/mofish/index')); + // Mcdonalds router.get('/mcdonalds/:category', require('./routes/mcdonalds/news')); @@ -3814,4 +3817,5 @@ router.get('/simpread/changelog', require('./routes/simpread/changelog')); // Radio Free Asia router.get('/rfa/:language?/:channel?/:subChannel?', require('./routes/rfa/index')); + module.exports = router; diff --git a/lib/routes/mofish/index.js b/lib/routes/mofish/index.js new file mode 100644 index 0000000000..f99bf3087d --- /dev/null +++ b/lib/routes/mofish/index.js @@ -0,0 +1,29 @@ +const got = require('@/utils/got'); + +module.exports = async (ctx) => { + const id = ctx.params.id; + const page = ctx.query.page || 0; + + const url = `https://api.tophub.fun/v2/GetAllInfoGzip?id=${id}&page=${page}`; + + const response = await got({ + method: 'get', + url: url, + }); + + const data = response.data.Data.data; + + const title = `鱼塘热榜`; + + ctx.state.data = { + title: title, + link: `https://mo.fish/`, + description: title, + item: data.map((item) => ({ + title: item.Title, + pubDate: new Date(item.releaseTime).toUTCString(), + link: item.Url, + guid: item.id, + })), + }; +}; \ No newline at end of file