From 2b00df0e65ad56877b8c6a334c5ef56da3a2c993 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=B7=E8=8E=89=E8=8E=8E?= Date: Mon, 20 Jan 2020 14:42:47 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=20Minecraft=20Java?= =?UTF-8?q?=E7=89=88=E6=B8=B8=E6=88=8F=E6=9B=B4=E6=96=B0=20(#3769)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/game.md | 6 ++++++ lib/router.js | 3 +++ lib/routes/minecraft/version.js | 34 +++++++++++++++++++++++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 lib/routes/minecraft/version.js diff --git a/docs/game.md b/docs/game.md index 055074c7d..2896321fd 100644 --- a/docs/game.md +++ b/docs/game.md @@ -86,6 +86,12 @@ pageClass: routes +## Minecraft + +### Java 版游戏更新 + + + ## Nintendo ### eShop 新发售游戏 diff --git a/lib/router.js b/lib/router.js index 3fe031b6a..2bab8f578 100644 --- a/lib/router.js +++ b/lib/router.js @@ -2147,4 +2147,7 @@ router.get('/discuz/:link', require('./routes/discuz/discuz')); router.get('/chinadialogue/topics/:topic', require('./routes/chinadialogue/topics')); router.get('/chinadialogue/:column', require('./routes/chinadialogue/column')); +// Minecraft Java版游戏更新 +router.get('/minecraft/version', require('./routes/minecraft/version')); + module.exports = router; diff --git a/lib/routes/minecraft/version.js b/lib/routes/minecraft/version.js new file mode 100644 index 000000000..ac5c28ede --- /dev/null +++ b/lib/routes/minecraft/version.js @@ -0,0 +1,34 @@ +const got = require('@/utils/got'); + +module.exports = async (ctx) => { + const url = 'https://launchermeta.mojang.com/mc/game/version_manifest.json'; + + const response = await got({ + method: 'get', + url: url, + }); + + const typeMap = { + release: '正式版', + snapshot: '快照', + old_alpha: '过时的预览版', + old_beta: '过时的测试版', + }; + + const data = response.data.versions; + + const title = `Minecraft Java版游戏更新`; + + ctx.state.data = { + title: title, + link: `https://www.minecraft.net/`, + description: title, + item: data.map((item) => ({ + title: `${item.id} ${typeMap[item.type] || ''}更新`, + description: `${item.id} ${typeMap[item.type] || ''}更新`, + pubDate: new Date(item.releaseTime).toUTCString(), + link: `https://www.minecraft.net`, + guid: item.url, + })), + }; +};