From a4db3d51b658fb5e4c06731de77ab540a6e65010 Mon Sep 17 00:00:00 2001 From: maple Date: Thu, 21 Feb 2019 15:28:09 +0800 Subject: [PATCH] Add Xiaomi.eu (#1580) --- docs/README.md | 4 ++++ lib/router.js | 3 +++ lib/routes/xiaomieu/releases.js | 28 ++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 lib/routes/xiaomieu/releases.js diff --git a/docs/README.md b/docs/README.md index 9479e948b..b1619a26c 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1318,6 +1318,10 @@ GitHub 官方也提供了一些 RSS: +### Xiaomi.eu + + + ## 大学通知 ### 上海海事大学 diff --git a/lib/router.js b/lib/router.js index 9f843425c..53fbf6bac 100644 --- a/lib/router.js +++ b/lib/router.js @@ -1068,6 +1068,9 @@ router.get('/hupu/bxj/:id/:order?', require('./routes/hupu/bxj')); // 牛客网 router.get('/nowcoder/discuss/:type/:order', require('./routes/nowcoder/discuss')); +// Xiaomi.eu +router.get('/xiaomieu/releases', require('./routes/xiaomieu/releases')); + // 每日安全 router.get('/security/pulses', require('./routes/security/pulses')); diff --git a/lib/routes/xiaomieu/releases.js b/lib/routes/xiaomieu/releases.js new file mode 100644 index 000000000..f799d99d1 --- /dev/null +++ b/lib/routes/xiaomieu/releases.js @@ -0,0 +1,28 @@ +const axios = require('../../utils/axios'); +const cheerio = require('cheerio'); + +module.exports = async (ctx) => { + const res = await axios.get('https://xiaomi.eu/community/forums/miui-rom-releases.103/'); + const $ = cheerio.load(res.data); + const threads = await Promise.all( + $('.structItem--thread') + .map(async (idx, th) => { + const $th = $(th); + const $ver = $th.find('.structItem-title>a:nth-child(1)'); + const $title = $th.find('.structItem-title>a:nth-child(2)'); + const title = `[${$ver.text()}] ${$title.text()}`; + const link = `https://xiaomi.eu${$title.attr('href')}`; + const res = await axios.get(link); + const $$ = cheerio.load(res.data); + const description = $$('.bbWrapper').html(); + const pubDate = new Date($$('time').attr('datetime')).toUTCString(); + return { title, description, link, pubDate }; + }) + .toArray() + ); + ctx.state.data = { + title: 'Xiaomi.eu ROM Releases', + link: 'https://xiaomi.eu/community/forums/miui-rom-releases.103/', + item: threads, + }; +};