From d4a9fe2ab6f47da83238750c07774f134322ad45 Mon Sep 17 00:00:00 2001 From: Evan Date: Thu, 2 Apr 2020 21:03:05 +0800 Subject: [PATCH] feat: new and hot post of 1point3acres (#4369) --- docs/bbs.md | 8 +++++++ lib/router.js | 1 + lib/routes/1point3acres/post.js | 38 +++++++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 lib/routes/1point3acres/post.js diff --git a/docs/bbs.md b/docs/bbs.md index 847425b728..226563bdcc 100644 --- a/docs/bbs.md +++ b/docs/bbs.md @@ -229,6 +229,14 @@ pageClass: routes +### 帖子 (手机端的最热与最新 Tab) + + + +| 最热帖子 | 最新帖子 | +| -------- | -------- | +| hot | new | + ### 录取结果 diff --git a/lib/router.js b/lib/router.js index 5d85af1647..8763366fa6 100644 --- a/lib/router.js +++ b/lib/router.js @@ -1421,6 +1421,7 @@ router.get('/vocus/user/:id', require('./routes/vocus/user')); router.get('/1point3acres/user/:id/threads', require('./routes/1point3acres/threads')); router.get('/1point3acres/user/:id/posts', require('./routes/1point3acres/posts')); router.get('/1point3acres/offer/:year?/:major?/:school?', require('./routes/1point3acres/offer')); +router.get('/1point3acres/post/:category', require('./routes/1point3acres/post')); // 广东海洋大学 router.get('/gdoujwc', require('./routes/universities/gdou/jwc/jwtz')); diff --git a/lib/routes/1point3acres/post.js b/lib/routes/1point3acres/post.js new file mode 100644 index 0000000000..a5009b3f73 --- /dev/null +++ b/lib/routes/1point3acres/post.js @@ -0,0 +1,38 @@ +const got = require('@/utils/got'); + +module.exports = async (ctx) => { + const category = ctx.params.category; + let url; + let method; + let description; + let { title } = 'null'; + // eslint-disable-next-line eqeqeq + if (title == 'null') { + method = 'get'; + } + // eslint-disable-next-line eqeqeq + category == 'new' + ? ((url = 'https://api.1point3acres.com/api/threads?type=new&pg=1&ps=20&includes=last_reply'), (title = '最新帖子')) + : ((url = 'https://api.1point3acres.com/api/threads?type=hot&pg=1&ps=20&includes=last_reply'), (title = '最热帖子')); + const responseBasic = await got({ + method: method, + url: url, + }); + const data = responseBasic.data.threads; + ctx.state.data = { + title: `${title} - 一亩三分地`, + link: `https://www.1point3acres.com/bbs/`, + description: `${title} - 一亩三分地`, + item: data.map((item) => { + // eslint-disable-next-line eqeqeq + item.last_reply.quote == '' ? (description = item.last_reply.message_bbcode) : (description = item.last_reply.quote); + return { + title: `${item.subject}`, + // description: item.last_reply.message_bbcode,// + `楼主:` + item.author, + description: description, + // pubDate: new Date(item.submittime + ' GMT+8').toUTCString(), + link: `https://instant.1point3acres.com/thread/${item.tid}`, + }; + }), + }; +};