From ebc9b8372f5d6f447e843b526d7829bdafa263e9 Mon Sep 17 00:00:00 2001 From: MisakaHonoka <2361547758@qq.com> Date: Wed, 19 Feb 2020 23:09:20 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20add=20=E9=AD=94=E6=B3=95=E7=BA=AA?= =?UTF-8?q?=E5=BD=95=20(#4034)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/game.md | 10 ++++++++ lib/router.js | 4 ++++ lib/routes/magireco/announcements.js | 26 +++++++++++++++++++++ lib/routes/magireco/event_banner.js | 34 ++++++++++++++++++++++++++++ 4 files changed, 74 insertions(+) create mode 100644 lib/routes/magireco/announcements.js create mode 100644 lib/routes/magireco/event_banner.js diff --git a/docs/game.md b/docs/game.md index b80938fcf..dde8329d6 100644 --- a/docs/game.md +++ b/docs/game.md @@ -394,3 +394,13 @@ Example: `https://store.steampowered.com/search/?specials=1&term=atelier` 中的 ### 公告 + +## マギアレコード(Magia Record, 魔法纪录) + +### 游戏公告 + + + +### 游戏横幅 + + diff --git a/lib/router.js b/lib/router.js index 7c53a0658..63a800821 100644 --- a/lib/router.js +++ b/lib/router.js @@ -2267,6 +2267,10 @@ router.get('/kuaidi100/company', require('./routes/kuaidi100/supported_company') // 稻草人书屋 router.get('/dcrsw/:name/:count?', require('./routes/novel/dcrsw')); +// 魔法纪录 +router.get('/magireco/announcements', require('./routes/magireco/announcements')); +router.get('/magireco/event_banner', require('./routes/magireco/event_banner')); + // wolley router.get('/wolley', require('./routes/wolley/index')); diff --git a/lib/routes/magireco/announcements.js b/lib/routes/magireco/announcements.js new file mode 100644 index 000000000..870073891 --- /dev/null +++ b/lib/routes/magireco/announcements.js @@ -0,0 +1,26 @@ +const got = require('@/utils/got'); +const date = require('@/utils/date'); + +module.exports = async (ctx) => { + const host = `http://android.magi-reco.com`; + const link = host + `/magica/json/announcements/announcements.json`; + const listData = await got.get(link); + if (!~listData.headers['content-type'].indexOf('application/json')) { + ctx.throw(403, 'Server not allow to get announcement.'); + } + const data = listData.data.slice(listData.data.length - 50); + ctx.state.data = { + title: '魔法纪录日服 - 游戏公告', + link: link, + description: 'Popup announcement right announcements', + language: 'jp', + item: data.map((item) => ({ + title: item.subject, + categoty: [item.categoty, item.displayOs], + description: item.text, + pubDate: date(item.startAt, 9), + link: 'https://jp.rika.ren/pop_up.html#id=' + item.id, + uuid: item.id, + })), + }; +}; diff --git a/lib/routes/magireco/event_banner.js b/lib/routes/magireco/event_banner.js new file mode 100644 index 000000000..717225d55 --- /dev/null +++ b/lib/routes/magireco/event_banner.js @@ -0,0 +1,34 @@ +const got = require('@/utils/got'); +const date = require('@/utils/date'); + +module.exports = async (ctx) => { + const host = `http://android.magi-reco.com`; + const link = host + `/magica/json/event_banner/event_banner.json`; + const listData = await got.get(link); + if (!~listData.headers['content-type'].indexOf('application/json')) { + ctx.throw(403, 'Server not allow to get announcement.'); + } + const data = listData.data.slice(listData.data.length - 50); + ctx.state.data = { + title: '魔法纪录日服 - 游戏横幅', + link: link, + description: 'Popup announcement left event_banner', + language: 'jp', + item: data.map((item) => ({ + title: item.description, + description: item.bannerText + '
', + pubDate: date(item.startAt, 9), + link: 'https://jp.rika.ren/pop_up.html' + (item.announcementId ? '#id=' + item.announcementId : ''), + uuid: item.bannerId, + media: { + content: { + url: host + item.imagePath + '_m.png', + type: 'image/png', + }, + thumbnail: { + url: host + item.imagePath + '_a.png', + }, + }, + })), + }; +};