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', + }, + }, + })), + }; +};