MCSManager/public/index.html

256 lines
8.4 KiB
HTML
Raw Normal View History

2017-11-13 12:26:31 +08:00
<!DOCTYPE html>
<html lang="zh-CN">
2018-01-18 11:00:54 +08:00
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="zh-CN" />
<meta name="renderer" content="webkit" />
<meta name="viewport" content="initial-scale=1, maximum-scale=3, minimum-scale=1, user-scalable=no" />
<title>Mcserver 管理面板</title>
<link href="./common/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<link href="./common/css/common.css" rel="stylesheet">
<link href="./common/css/block.css" rel="stylesheet">
<link href="./favicon.ico" rel="shortcut icon">
<link rel="stylesheet" href="common/css/unit.css" />
<!--[if lt IE 9]>
2017-11-13 12:26:31 +08:00
<div id='Not_' class="show-ui" style="height: 40px;background-color: rgb(221,79,67);text-align:center;line-height: 40px;color: white;">
<b>无法访问! 您的浏览器版本过低或是兼容模式,请使用最新/更高版本的浏览器: IE10+ chrome FireFox 等如果是国内浏览器请打开极速浏览模式webkit内核</b>
</div>
<![endif]-->
2018-01-18 11:00:54 +08:00
<!--前端完全开源,您可以自由更改,但仅限于使用在 Mcserver Manager 程序-->
<!--版权所有 Mcserver Manager 8 开发者 (Suwings) 双羽 -->
2018-01-24 16:56:35 +08:00
<!--前端开源使用 请遵循协议即可已经其他额外附属条件,勿删除版权信息-->
2018-01-18 11:00:54 +08:00
</head>
2017-11-13 12:26:31 +08:00
2018-01-18 11:00:54 +08:00
<!--百度数据统计,如果您不想被统计,请删除这段代码-->
<script>
var _hmt = _hmt || [];
(function () {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?242b21aa18712872e0775282aaeae0a5";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
2017-11-13 12:26:31 +08:00
2017-11-20 20:09:51 +08:00
<!--
2017-11-13 12:26:31 +08:00
__ ___ __ ___
/ |/ /____________ ______ _____ _____ / |/ /___ _____ ____ _____ ____ _____
/ /|_/ / ___/ ___/ _ \/ ___/ | / / _ \/ ___/ / /|_/ / __ `/ __ \/ __ `/ __ `/ _ \/ ___/
/ / / / /__(__ ) __/ / | |/ / __/ / / / / / /_/ / / / / /_/ / /_/ / __/ /
/_/ /_/\___/____/\___/_/ |___/\___/_/ /_/ /_/\__,_/_/ /_/\__,_/\__, /\___/_/
/____/
Only you.
-->
2018-01-18 11:00:54 +08:00
<body>
<div id='Header' class="">
<div id='MasterLogo' class="HeaderItem" onclick="MCSERVER.colmDo()" style="cursor: pointer;">
<b>Mcserver
2017-11-13 12:26:31 +08:00
<b> 管理面板</div>
<div class="HeaderR">
<div id='websocket' v-text="status">
正在链接到服务器...
</div>
<div id='loginOut' v-on:click="loginOut()">退出</div>
</div>
</div>
<div id='MainContainer'>
2017-11-20 20:09:51 +08:00
<div id='SideCol' class="">
2017-11-13 12:26:31 +08:00
<div id="SideColMenu">
<div id='SideColMenuInfo'>
Mcserver Manager
<br>
<div id='websocket2'>
2018-01-18 11:00:54 +08:00
<div v-if="is">
<span class="color-green">Online: </span>{{ MCSERVER.username }}</div>
2017-11-13 12:26:31 +08:00
<div v-else>offline (离线)</div>
</div>
</div>
<div id='SideColFor'>
<!--如果您想更改菜单名或功能,请查看 common/js/meum.js 文件-->
<a href="#" v-for="item of items" v-on:click="onRedirect(item.link,item.api)" v-on:mouseenter="onMouse($event,true)" v-on:mouseleave="onMouse($event,false)">
<span class="glyphicon " :class="item.class" aria-hidden="true"></span>
<span v-text="item.name"></span>
</a>
</div>
</div>
</div>
<div id="Container">
<div id="ConsoleMain">
<!--可变动内嵌html区域开始-->
<!--默认的单页应用模板,这个是用于第一次加载时使用-->
<div class="OneContainer">
<div class="row">
<div class="col-xs-12">
2017-11-18 21:16:45 +08:00
<h3 id="_TMP_LOADING">请稍等,正在传输资源 ....</h3>
<script>
2018-01-18 11:00:54 +08:00
(function () {
2017-11-18 21:16:45 +08:00
var count = 0;
var www = document.getElementById('_TMP_LOADING');
2018-01-18 11:00:54 +08:00
var masks = setInterval(function () {
2017-11-18 21:16:45 +08:00
www.innerHTML = www.innerHTML + '.';
count++;
2018-01-18 11:00:54 +08:00
if (count > 10) clearInterval(masks);
}, 1000);
2017-11-18 21:16:45 +08:00
})();
</script>
2017-11-13 12:26:31 +08:00
</div>
</div>
</div>
<!--可变动内嵌html区域结束-->
</div>
</div>
</div>
<!--信息框HTML-->
<div id='ToolsInfo'>
<transition name="fade">
<div class="ToolsInfo tools-info text-center show-ui" v-if='show' v-text="msg">
</div>
</transition>
</div>
<!--传说中的菜单改变按钮-->
<div id='ShowMenu' onclick="MCSERVER.colmDo()">
<h4></h4>
</div>
2018-01-18 11:00:54 +08:00
2017-11-18 20:29:35 +08:00
<!--页面加载进度条-->
<div class="Toolscon" id="ToolsPageLoading">
2017-11-19 10:47:09 +08:00
<div class="progress" style="height: 4px;line-height: 4px;background-color: inherit;border: 0px;">
2018-01-18 11:00:54 +08:00
<div id="ToolsLoading" class="progress-bar progress-bar-success progress-bar-striped active" style="width: 0%;height: 4px;">
</div>
2017-11-18 20:29:35 +08:00
</div>
</div>
2018-01-18 11:00:54 +08:00
2017-11-13 12:26:31 +08:00
<!--Js文件引用顺序不能乱所有js都是依赖于前js的-->
<script src="./common/jquery-3.2.1.min.js"></script>
<!--vue-->
<script type="text/javascript" src="./common/vue/vue.min.js"></script>
<!--公用的js方法公用的函数模式-->
<!-- 全局变量 MI(中介者) MS(保留) MCSERVER(全局寄生器)-->
<script type="text/javascript" src="./common/js/common.js"></script>
<!--URL 处理函数-->
<script type="text/javascript" src="common/URL.js"></script>
<!--请求类相关方法 全局变量 RES(请求) PAGE(单页应用临时全局存储变量)-->
<script type="text/javascript" src="./common/js/response.js"></script>
<!--Websocket 封装类 全局变量 WS -->
<script type="text/javascript" src="./common/js/websocket.js"></script>
<!--工具类 全局变量 TOOLS(工具xiang)-->
<script type="text/javascript" src="./common/js/tools.js"></script>
<!--首页菜单获取 虚拟的后端菜单数据-->
<script type="text/javascript" src="common/js/meum.js"></script>
<!--echarts 库 -->
<script type="text/javascript" src="common/echarts.js"></script>
<!--Vue.data 数据模型处理 全局变量 VIEW_MODEL-->
<script type="text/javascript" src="./common/js/viewmodel.js"></script>
<!--图像统计表格封装 附属于 TOOLS 变量-->
<script type="text/javascript" src="common/js/chart.js"></script>
<script>
2018-01-18 11:00:54 +08:00
if (!window.$) alert('网络不流畅,文件加载失败!');
2017-11-13 12:26:31 +08:00
2018-01-18 11:00:54 +08:00
$(function () {
//事件
window.onresize = function () {
MI.on('resize', null);
2017-11-13 12:26:31 +08:00
}
2018-01-18 11:00:54 +08:00
//防止页面后退
history.pushState(null, null, document.URL);
window.addEventListener('popstate', function () {
history.pushState(null, null, document.URL);
});
2017-11-13 12:26:31 +08:00
2018-01-18 11:00:54 +08:00
//一般制约能力的防止被 iframe 嵌入另外HTTP返回了 X-Frame-Options: DENY
window.top.location !== window.location && (window.top.location = window.location);
2017-11-13 12:26:31 +08:00
2018-01-18 11:00:54 +08:00
// echart 路径配置
window.require.config({
paths: {
echarts: './common/echarts-dist'
}
});
2017-11-13 12:26:31 +08:00
2018-01-18 11:00:54 +08:00
//抗CSRF攻击
//身份验证,令牌获取
RES.getToken(function (token) {
2017-11-13 12:26:31 +08:00
2018-01-18 11:00:54 +08:00
RES.TOKEN = token;
console.log('登陆的用户是:' + MCSERVER.username)
2017-11-13 12:26:31 +08:00
2018-01-18 11:00:54 +08:00
//初始化 Websocket
WS.init(function () {
2017-11-13 12:26:31 +08:00
2018-01-18 11:00:54 +08:00
//获取菜单
WS.sendMsg('menu', '');
2017-11-13 12:26:31 +08:00
2018-01-18 11:00:54 +08:00
//异步自动获取单页
setTimeout(function () {
2017-11-13 12:26:31 +08:00
2018-01-18 11:00:54 +08:00
//是否登陆
if (!MCSERVER.username) {
TOOLS.pushMsgWindow('身份认证失败,请重新登陆验证身份');
}
//判断是否是#权限用户,请放心,后端也会给予判断并不只是前端
if (MCSERVER.username.substr(0, 1) == '#') {
RES.redirectPage('./template/index.html', 'index/update', '--- 更新页面 ---');
} else {
RES.redirectPage('./template/gen_home.html', 'genuser/home', '--- 更新页面 ---');
}
}, 300);
});
2017-11-13 12:26:31 +08:00
});
2018-01-18 11:00:54 +08:00
//建立 退出按钮 Vue
var vueLoginOut = new Vue({
2017-11-13 12:26:31 +08:00
el: '#loginOut',
methods: {
loginOut: function () {
RES.ajax({
type: 'POST',
url: './user/loginout',
success: function () {
console.log('用户退出');
WS.close();
TOOLS.pushMsgWindow('您已退出,现在即将跳转网页');
setTimeout(function () {
window.location.href = MCSERVER.URL('./public/login');
}, 2000);
},
error: function () {
TOOLS.pushMsgWindow('退出失败,您网络正常且是否登陆?');
}
});
}
}
});
2018-01-18 11:00:54 +08:00
//工具栏
VIEW_MODEL.newVueOnce('ToolsInfo', {
el: '#ToolsInfo',
data: {
show: false,
msg: ''
}
});
2017-11-13 12:26:31 +08:00
2018-01-18 11:00:54 +08:00
VIEW_MODEL.COMMON = {};
2017-11-13 12:26:31 +08:00
2018-01-18 11:00:54 +08:00
});
2017-11-13 12:26:31 +08:00
</script>
</body>
</html>