2
0
mirror of https://github.com/MCSManager/MCSManager.git synced 2025-03-01 16:16:18 +08:00

新增 - 服务端状态接口模板

This commit is contained in:
suwings 2018-08-10 14:14:48 +08:00
parent 213221ac8b
commit d2da174227
2 changed files with 68 additions and 14 deletions
public/template
route

View File

@ -0,0 +1,52 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>状态查询页</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body,
html {
margin: 0;
padding: 0;
}
.header {
height: 40px;
background-color: #292929;
color: white;
line-height: 40px;
font-size: 22px;
padding: 8px;
}
.container {
padding: 8px;
overflow: hidden;
}
</style>
</head>
<body>
<div class="header">
服务端基础信息
</div>
<div class="container">
<p>服务端标识名: $servername</p>
<p>最近启动时间: $last_time </p>
<p>状态: $status</p>
<br>
<p>通过此链接你可以随时随地在任何地点获取服务端状态,而不需要登录。
<br> 此文件在 /public/template/api_server.html 可自定义。
</p>
</div>
</body>
</html>

View File

@ -1,5 +1,6 @@
const router = require('express')();
const serverModel = require('../model/ServerModel');
const fs = require('fs');
//公开 服务端状态获取 JSON格式
router.all('/get/:name', function (req, res) {
@ -24,21 +25,22 @@ router.all('/status/:name', function (req, res) {
let params = req.params || {};
let serverName = params.name || "";
//十分简单的网页模板
let template = '<!DOCTYPE html><html><head><meta charset="utf-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge"><title>$0</title><meta name="viewport" content="width=device-width, initial-scale=1"></head><body>$1</body></html>';
let mcserver = serverModel.ServerManager().getServer(serverName.trim());
if (mcserver == null) {
res.send("Not Found");
return;
}
//渲染模板
template = template.replace(/\$0/igm, "状态信息");
template = template.replace(/\$1/igm, [
"服务端名:" + serverName,
"启动时间:" + mcserver.dataModel.lastDate,
"状态:" + (mcserver.isRun() ? "正在运行" : "关闭")
].join("<br />"));
try {
let template = fs.readFileSync("./public/template/api_server.html").toString();
let mcserver = serverModel.ServerManager().getServer(serverName.trim());
if (mcserver == null) {
res.send("Not Found");
return;
}
//渲染模板
template = template.replace(/\$servername/igm, serverName);
template = template.replace(/\$last_time/igm, mcserver.dataModel.lastDate);
template = template.replace(/\$status/igm, mcserver.isRun() ? "正在运行" : "关闭");
res.send(template);
res.send(template);
} catch (err) {
console.log(err)
}
res.end();
});