自动整理代码

This commit is contained in:
suwings 2018-01-18 11:00:54 +08:00
parent 936b87fe0b
commit aa4545382d
11 changed files with 277 additions and 295 deletions

View File

@ -1,11 +1,10 @@
//标准的URL定位器
if(window.MCSERVER == undefined) window.MCSERVER = {};
if (window.MCSERVER == undefined) window.MCSERVER = {};
MCSERVER.URL = function(url, protocol) {
MCSERVER.URL = function (url, protocol) {
var _protocol = protocol || 'http://';
var hostName = window.location.host;
// var port = 23333;
var openURL = hostName + '/' + url;
console.log('转换URL:', openURL)
return _protocol + openURL;
};

View File

@ -1,17 +1,17 @@
TOOLS.charts = {};
TOOLS.charts.bulider = function(dom, len, config, callback, chartOption) {
TOOLS.charts.bulider = function (dom, len, config, callback, chartOption) {
var viewData = [];
var keyData = [];
var option = chartOption;
var myChart = null;
// var UPMAX = upMAX || 100;
for(var i = 0; i < len; i++) {
for (var i = 0; i < len; i++) {
viewData[i] = 0;
keyData[i] = '';
}
require(['echarts', 'echarts/chart/line'],
function(ec) {
function (ec) {
// 基于准备好的dom初始化echarts图表
myChart = ec.init(document.getElementById(dom));
@ -21,18 +21,12 @@ TOOLS.charts.bulider = function(dom, len, config, callback, chartOption) {
// 为echarts对象加载数据
myChart.setOption(option);
// var resizeFunc = {};
// resizeFunc.oooo = function() {
//// resizeCallback();
// }
// MI.listener('resize', resizeFunc.oooo);
callback({
chart: myChart,
reOption: function() {
reOption: function () {
myChart.setOption(option);
},
pushData: function(key, val) {
pushData: function (key, val) {
console.log('viewData:', viewData)
viewData = viewData.slice(1);
@ -43,24 +37,19 @@ TOOLS.charts.bulider = function(dom, len, config, callback, chartOption) {
keyData.push(key);
option.xAxis[0].data = keyData;
},
replaceData: function(arr) {
if(arr == undefined) return;
replaceData: function (arr) {
if (arr == undefined) return;
viewData = [];
keyData = [];
for(var i = 0; i < arr.length; i++) {
if(arr[i] == null) continue;
for (var i = 0; i < arr.length; i++) {
if (arr[i] == null) continue;
viewData.push(arr[i].val);
keyData.push(arr[i].key);
}
option.series[0].data = viewData;
option.xAxis[0].data = keyData;
},
end: function() {
// resizeFunc.oooo = undefined;
// delete resizeFunc;
// delete myChart;
// delete this;
}
end: function () {}
});
}
);

View File

@ -4,12 +4,12 @@
//// window.console.log = function(){};
//})();
(function() {
(function () {
window.MS = {};
window.MCSERVER = {};
window.PAGE = new Object();
var MI = window.MI = function() {
var MI = window.MI = function () {
return null;
};
@ -17,16 +17,16 @@
var _routeEvebtList = {};
MI.page = new Object();
MI.rListener = function(event, callback) {
MI.rListener = function (event, callback) {
_maskEventList[event] = callback;
}
MI.rOn = function(event, msg) {
if(_maskEventList[event]) _maskEventList[event](msg);
MI.rOn = function (event, msg) {
if (_maskEventList[event]) _maskEventList[event](msg);
}
MI._listener = function(src, event, callback) {
if(src.hasOwnProperty(event)) {
MI._listener = function (src, event, callback) {
if (src.hasOwnProperty(event)) {
src[event].push(callback);
} else {
src[event] = [callback];
@ -34,11 +34,11 @@
return this;
}
MI._on = function(src, event, msg) {
if(src.hasOwnProperty(event)) {
for(var i in src[event]) {
if(src[event][i] == undefined) delete src[event][i];
if(typeof src[event][i] != "function") delete src[event][i];
MI._on = function (src, event, msg) {
if (src.hasOwnProperty(event)) {
for (var i in src[event]) {
if (src[event][i] == undefined) delete src[event][i];
if (typeof src[event][i] != "function") delete src[event][i];
src[event][i](msg);
}
}
@ -46,27 +46,24 @@
}
// 用于常用的观察者模型
MI.listener = function(event, callback) {
MI.listener = function (event, callback) {
MI._listener(_maskEventList, event, callback);
}
MI.on = function(event, msg) {
MI.on = function (event, msg) {
MI._on(_maskEventList, event, msg);
}
// 用于给ajax路由进行操作的 观察者模型
MI.routeListener = function(event, callback) {
MI.routeListener = function (event, callback) {
MI._listener(_routeEvebtList, event, callback);
}
MI.routeOn = function(event, msg) {
MI.routeOn = function (event, msg) {
MI._on(_routeEvebtList, event, msg);
}
MI.onDestroy = function(event, funcPrint) {
for(var i in _maskEventList[event]) {
// if(_maskEventList[event][i] == undefined) delete _maskEventList[event][i];
// if(typeof _maskEventList[event][i] != "function") delete _maskEventList[event][i];
if(funcPrint == _maskEventList[event][i]) {
console.log("删除函数:", _maskEventList[event][i])
MI.onDestroy = function (event, funcPrint) {
for (var i in _maskEventList[event]) {
if (funcPrint == _maskEventList[event][i]) {
delete _maskEventList[event][i];
}
@ -77,50 +74,50 @@
//基本的数据模型
;
(function() {
(function () {
window.VIEW_MODEL = function() {
window.VIEW_MODEL = function () {
return this;
};
var bindList = {};
function addApp(bind, app) {
if(app.data) {
for(var k in app.data) {
if (app.data) {
for (var k in app.data) {
VIEW_MODEL[bind][k] = app.data[k];
}
}
app.data = VIEW_MODEL[bind];
var tmp_app = new Vue(app);
if(bindList[app.el]) delete bindList[app.el];
if (bindList[app.el]) delete bindList[app.el];
bindList[app.el] = tmp_app;
}
// 间接性的实例化Vue
VIEW_MODEL.newVue = function(bind, app) {
if(VIEW_MODEL[bind] == undefined) VIEW_MODEL[bind] = {};
VIEW_MODEL.newVue = function (bind, app) {
if (VIEW_MODEL[bind] == undefined) VIEW_MODEL[bind] = {};
addApp(bind, app);
}
VIEW_MODEL.newVueOnce = function(bind, app) {
if(VIEW_MODEL[bind] == undefined) VIEW_MODEL[bind] = {};
if(bindList[app.el]) {
// console.log(app.el + '的第二次绑定拒绝');
VIEW_MODEL.newVueOnce = function (bind, app) {
if (VIEW_MODEL[bind] == undefined) VIEW_MODEL[bind] = {};
if (bindList[app.el]) {
// console.log(app.el + '的第二次绑定拒绝');
return;
}
addApp(bind, app);
}
//过滤函数
MI.routeCopy = function(appName, data) {
if(!VIEW_MODEL[appName]) VIEW_MODEL[appName] = {};
for(var key in data) {
MI.routeCopy = function (appName, data) {
if (!VIEW_MODEL[appName]) VIEW_MODEL[appName] = {};
for (var key in data) {
VIEW_MODEL[appName][key] = data[key];
}
}
//事件转接
MI.listener('ws/response', function(obj) {
MI.listener('ws/response', function (obj) {
MI.routeOn(obj['ResponseKey'], {
obj: obj['ResponseValue'],
@ -130,19 +127,19 @@
})();
(function() {
(function () {
$SideCol = $('#SideCol');
$Container = $('#Container');
MCSERVER.colmSet = function(booleans) {
MCSERVER.colmSet = function (booleans) {
MI.on('colmchange', null); //触发事件
if(!booleans) {
if (!booleans) {
console.log('菜单隐藏')
$SideCol
.stop(true, true)
.animate({
'opacity': '0'
}, 200, function() {
}, 200, function () {
$SideCol.css({
'display': 'none'
});
@ -152,7 +149,7 @@
.stop(true, true)
.animate({
'left': '0px'
}, 200, function() {
}, 200, function () {
MI.on('colmchangeEnd', null); //触发事件
});
@ -162,7 +159,7 @@
.stop(true, true)
.animate({
'left': '180px'
}, 200, function() {
}, 200, function () {
$SideCol
.css({
'display': 'block'
@ -170,7 +167,7 @@
.stop(true, true)
.animate({
'opacity': '1'
}, 200, function() {
}, 200, function () {
MI.on('colmchangeEnd', null); //触发事件
});
$Container.removeAttr('style')
@ -178,16 +175,16 @@
}
}
MCSERVER.colmDo = function() {
if($Container[0].style.left == '0px') {
MCSERVER.colmDo = function () {
if ($Container[0].style.left == '0px') {
MCSERVER.colmSet(true);
} else {
MCSERVER.colmSet(false);
}
}
MCSERVER.autoColmDo = function() {
if(document.body.clientWidth <= 1136) {
MCSERVER.autoColmDo = function () {
if (document.body.clientWidth <= 1136) {
MCSERVER.colmSet(false);
} else {
MCSERVER.colmSet(true);
@ -195,10 +192,10 @@
}
//事件綁定
MI.listener('resize', function() {
MI.listener('resize', function () {
MCSERVER.autoColmDo();
});
window.onload = MCSERVER.autoColmDo;
// if(document.body.clientWidth <)
})();
})();

View File

@ -4,7 +4,10 @@ MCSERVER.login = function (username, password, rand, loginSuccess, loginError, e
$.get({
url: MCSERVER.URL('./user/login_key'),
//import
data: { username: username, wIwdj274: "adFh_u297?4jGs1" },
data: {
username: username,
wIwdj274: "adFh_u297?4jGs1"
},
success: function (data, textStatus) {
var obj = JSON.parse(data);
POST_OBJECT = obj;
@ -17,8 +20,8 @@ MCSERVER.login = function (username, password, rand, loginSuccess, loginError, e
});
function logging() {
var md5Password = hex_md5(hex_md5(password) + POST_OBJECT.enkey1)//账号注册时保存的格式
var md5Passworded = hex_md5(md5Password + POST_OBJECT.enkey2);//登陆的格式
var md5Password = hex_md5(hex_md5(password) + POST_OBJECT.enkey1) //账号注册时保存的格式
var md5Passworded = hex_md5(md5Password + POST_OBJECT.enkey2); //登陆的格式
$.post({
url: MCSERVER.URL('./user/login'),
data: {

View File

@ -1,20 +1,20 @@
(function() {
(function () {
// 菜单 数据
MCSERVER.meumObject = {};
//非管理员
MCSERVER.meumObject.notMasterMeum = [{
class: 'glyphicon-home', //html元素 类
name: '用户中心', //菜单名
link: './template/gen_home.html', //单击时跳转目的
api: 'genuser/home' //通过 Webscoket 后端请求的API,null为不请求
class: 'glyphicon-home', //html元素 类
name: '用户中心', //菜单名
link: './template/gen_home.html', //单击时跳转目的
api: 'genuser/home' //通过 Webscoket 后端请求的API,null为不请求
}, {
class: 'glyphicon-equalizer',
name: '技术支持',
link: './template/gen_about.html',
api: null
}, ]
//管理员的
//注意,这些页面只能管理员访问,普通用户就算访问,也得不到任何数据
MCSERVER.meumObject.masterMeum = [{

View File

@ -1,5 +1,5 @@
(function() {
MCSERVER.findPropertiesShow = function(key) {
(function () {
MCSERVER.findPropertiesShow = function (key) {
var SuwingsLoveYou = {
"generator-settings": "用于自定义超平坦世界的生成,不生成超平坦世界请留空",
"allow-nether": "是否允许下界(包括地狱)",
@ -35,11 +35,11 @@
"resource-pack-sha1": "资源包的SHA-1值必须为小写十六进制不是必填选项",
"enable-command-block": "启用命令方块",
"resource-pack": "统一资源标识符 (URI) 指向一个资源包。玩家可选择是否使用",
"max-world-size":"最大世界大小"
"max-world-size": "最大世界大小"
}
//1.1
if(SuwingsLoveYou.hasOwnProperty(key)) {
if (SuwingsLoveYou.hasOwnProperty(key)) {
return SuwingsLoveYou[key];
} else {
return ' ';

View File

@ -1,17 +1,18 @@
;
(function() {
(function () {
var DEBUG = false;
var TOKEN_NAME = '_T0K_N';
var RES = window.RES = function() {
var RES = window.RES = function () {
return null;
};
RES.TOKEN_NAME = TOKEN_NAME;
RES.TOKEN = null;
RES.getToken = function(callback) {
RES.getToken = function (callback) {
// 同源策略可以防止其他域对这里发送一个Ajax请求.
var _url = MCSERVER.URL("./token?_LoveYouMaster_Time=" + Date.parse(new Date()));
$.get(_url, function(data, status) {
$.get(_url, function (data, status) {
data = JSON.parse(data);
if(data.hasOwnProperty('ResponseValue')) {
if (data.hasOwnProperty('ResponseValue')) {
MCSERVER.username = data['ResponseValue'].username;
callback(data['ResponseValue'].token);
} else {
@ -20,48 +21,49 @@
});
}
RES.tokenAjax = function(parameter) {
RES.tokenAjax = function (parameter) {
//请务必主要异步陷阱
window.RES.getToken(function(token) {
window.RES.getToken(function (token) {
parameter['token'] = token;
// RES.ajax(parameter);
});
}
RES.ajax = function(parameter) {
if(!parameter['data']) parameter['data'] = {};
RES.ajax = function (parameter) {
if (!parameter['data']) parameter['data'] = {};
var tokenV = parameter['token'] || RES.TOKEN;
// if(tokenV) parameter['data'][TOKEN_NAME] = tokenV;
if(tokenV != null) parameter['url'] += '?' + TOKEN_NAME + '=' + tokenV;
if (tokenV != null) parameter['url'] += '?' + TOKEN_NAME + '=' + tokenV;
$.ajax({
type: parameter['type'] || "POST",
url: MCSERVER.URL(parameter['url']),
data: parameter['data'], //具体实例化
timeout: parameter['timeout'] || 10000,
success: function(data, textStatus) {
success: function (data, textStatus) {
try {
data = JSON.parse(data);
if(typeof(data) == 'object') {
if(data['ResponseKey']) {
if (typeof (data) == 'object') {
if (data['ResponseKey']) {
window.MI.routeOn(data['ResponseKey'], data['ResponseValue']);
}
}
} catch(e) {
console.log('返回的不是一个json对象');
} catch (e) {
//返回的不是一个json对象
DEBUG && console.log("$.ajax 响应数据非一个JSON对象");
} finally {
if(parameter['success']) parameter['success'](data, textStatus);
if (parameter['success']) parameter['success'](data, textStatus);
}
},
error: function(XML, textStatus, errorThrown) {
if(parameter['error']) parameter['error'](XML);
error: function (XML, textStatus, errorThrown) {
if (parameter['error']) parameter['error'](XML);
//alert('操作失败,被服务器拒绝,请保存好内容重新登录.');
console.log('Ajax ERROR 回调触发');
console.log(XML);
console.log(textStatus);
console.log(errorThrown);
console.log(XML.responseText);
DEBUG && console.log('Ajax ERROR 回调触发');
DEBUG && console.log(XML);
DEBUG && console.log(textStatus);
DEBUG && console.log(errorThrown);
DEBUG && console.log(XML.responseText);
// alert("服务器: " + XML.responseText);
window.MI.routeOn('ajax/error', XML);
},
@ -72,39 +74,39 @@
}
RES.redirectHTML = function(url, key, body, callback) {
RES.redirectHTML = function (url, key, body, callback) {
//静态文件均在 public 目录下动态文件则在不同API接口
var _url = MCSERVER.URL('./public/' + url, 'http://');
//响应事件函数
function responseCallback(response, status, xhr) {
if(status != 'success')
if (status != 'success')
TOOLS.pushMsgWindow("[ " + status + " ] 由于网络或权限问题,请求的网页无法成功!");
callback && callback();
}
if(key == null) {
if (key == null) {
//不需要API数据的单页
$("#ConsoleMain").load(_url, responseCallback);
} else {
WS.sendMsg(key, body || '', function() {
WS.sendMsg(key, body || '', function () {
$("#ConsoleMain").load(_url, responseCallback);
});
}
}
RES.redirectPage = function(url, key, body, callback) {
RES.redirectPage = function (url, key, body, callback) {
ToolsLoadingStart(function() {
ToolsLoadingStart(function () {
MI.rOn('onend');
PageLoading();
//替換掉原先存在的 函数。防止新的单页没有这些函数而导致代码二次执行
MI.rListener('onend', function() {});
MI.rListener('onload', function() {});
RES.redirectHTML(url, key, body, function() {
MI.rListener('onend', function () {});
MI.rListener('onload', function () {});
RES.redirectHTML(url, key, body, function () {
MI.on('page/live');
//赋予的单页刷新
PAGE.refresh = function() {
PAGE.refresh = function () {
RES.redirectPage(url, key, body, callback);
}
ToolsLoadingEnd();
@ -137,8 +139,8 @@
PageMain.stop(true, true).animate({
'opacity': '1'
}, 150, function() {
setTimeout(function() {
}, 150, function () {
setTimeout(function () {
ToolsPageLoading.css("display", "none");
}, 150);

View File

@ -1,4 +1,4 @@
(function() {
(function () {
//全局TOOLS
window.TOOLS = {};
@ -8,29 +8,29 @@
function showMsgWindow(value, callback) {
VIEW_MODEL['ToolsInfo'].show = true;
VIEW_MODEL['ToolsInfo'].msg = value;
setTimeout(function() {
setTimeout(function () {
VIEW_MODEL['ToolsInfo'].show = false;
VIEW_MODEL['ToolsInfo'].msg = '';
callback && callback();
}, 1800);
}
TOOLS.pushMsgWindow = function(value) {
TOOLS.pushMsgWindow = function (value) {
_queue.push({
msg: value
});
if(_run == true) return;
if (_run == true) return;
function whiles() {
if(_queue.length <= 0) {
if (_queue.length <= 0) {
_run = false;
return;
}
_run = true;
msgObj = _queue.shift();
showMsgWindow(msgObj.msg, function() {
showMsgWindow(msgObj.msg, function () {
//下一个
setTimeout(whiles, 200);
});
@ -39,16 +39,16 @@
}
//后端要求打开信息框
MI.routeListener('window/msg', function(data) {
MI.routeListener('window/msg', function (data) {
TOOLS.pushMsgWindow(data.body);
});
TOOLS.isMaster = function(username){
TOOLS.isMaster = function (username) {
return username.substr(0, 1) === "#";
}
// XSS 攻击防御函数
TOOLS.encode = function(html) {
TOOLS.encode = function (html) {
var rstr = html.replace(/&/gim, '&amp;')
.replace(/</gim, '&lt;')
.replace(/>/gim, '&gt;')
@ -58,7 +58,7 @@
return rstr;
}
TOOLS.decode = function(text) {
TOOLS.decode = function (text) {
var str = text
.replace(/&lt;/gim, '<')
.replace(/&gt;/gim, '>')
@ -70,29 +70,29 @@
return str;
}
TOOLS.getCookie = function(name) {
TOOLS.getCookie = function (name) {
var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
if(arr = document.cookie.match(reg))
if (arr = document.cookie.match(reg))
return unescape(arr[2]);
else
return null;
}
TOOLS.delCookie = function(name) {
TOOLS.delCookie = function (name) {
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval = TOOLS.getCookie(name);
if(cval != null)
if (cval != null)
document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
}
TOOLS.setCookie = function(name, value) {
TOOLS.setCookie = function (name, value) {
// var strsec = getsec(time);
document.cookie = name + "=" + escape(value) + ";expires=" + new Date(Date.now() + 10000 * 60 * 60 * 4).toGMTString();
}
// TOOLS.onResize = function($dom,callback){
//
// }
// TOOLS.onResize = function($dom,callback){
//
// }
})();

View File

@ -1,9 +1,11 @@
//ViewModel层
//用于各类数据模型的双向绑定和控制区域
(function() {
(function () {
MI.listener('ws/open', function(ws) {
var DEBUG = false;
MI.listener('ws/open', function (ws) {
VIEW_MODEL['websocketStatus'] = {};
var webscoketStatus = VIEW_MODEL['websocketStatus'];
webscoketStatus['status'] = 'WebSocket 连接正常';
@ -17,33 +19,33 @@
});
});
MI.listener('ws/close', function(ws) {
MI.listener('ws/close', function (ws) {
var webscoketStatus = VIEW_MODEL['websocketStatus'];
webscoketStatus['status'] = 'WebSocket 连接断开,请刷新网页重连';
webscoketStatus['is'] = false;
webscoketStatus['color'] = '#f5ea6c';
});
MI.listener('ws/error', function(ws) {
MI.listener('ws/error', function (ws) {
var webscoketStatus = VIEW_MODEL['websocketStatus'];
webscoketStatus['status'] = 'WebSocket 连接错误,请刷新网页重连';
webscoketStatus['is'] = false;
webscoketStatus['color'] = '#f5ea6c';
});
MI.listener('page/live', function(ws) {
for(var tmp in PAGE) delete PAGE[tmp];
MI.listener('page/live', function (ws) {
for (var tmp in PAGE) delete PAGE[tmp];
delete PAGE;
PAGE = new Object();
});
MI.routeListener('ws/muem', function(data) {
console.log('--- 系统菜单获取成功 ---')
MI.routeListener('ws/muem', function (data) {
DEBUG && console.log('--- 系统菜单获取成功 ---')
MCSERVER.username = data.obj.username;
//虚拟的数据接受,让前端数据得到,菜单在前端建筑
if(TOOLS.isMaster(MCSERVER.username)){
if (TOOLS.isMaster(MCSERVER.username)) {
data.obj.items = MCSERVER.meumObject.masterMeum;
}else{
} else {
data.obj.items = MCSERVER.meumObject.notMasterMeum;
}
//copy
@ -54,22 +56,20 @@
isOnMouse: false
},
methods: {
onRedirect: function(link, api) {
console.log('菜单处网页开始跳转:' + link);
onRedirect: function (link, api) {
DEBUG && console.log('菜单处网页开始跳转:' + link);
RES.redirectPage(link, api, 'update_page');
},
onMouse: function($event, flag) {
onMouse: function ($event, flag) {
var $elem = $event.target;
if(flag) {
if (flag) {
//进入
// console.log('菜单移入', $elem);
$($elem).stop(true,true).animate({
$($elem).stop(true, true).animate({
'padding-left': '24px'
}, 200);
} else {
//移出
// console.log('菜单移出', $elem);
$($elem).stop(true,true).animate({
$($elem).stop(true, true).animate({
'padding-left': '20px'
}, 200);
}
@ -79,31 +79,31 @@
});
MI.routeListener('index/update', function(data) {
MI.routeListener('index/update', function (data) {
MI.routeCopy('SystemUp', data.obj);
});
MI.routeListener('center/show', function(data) {
MI.routeListener('center/show', function (data) {
MI.routeCopy('centerShow', data.obj);
});
MI.routeListener('server/view', function(data) {
MI.routeListener('server/view', function (data) {
MI.routeCopy('ServerList', data.obj);
});
//UsersetList
MI.routeListener('userset/update', function(data) {
MI.routeListener('userset/update', function (data) {
MI.routeCopy('UsersetList', data.obj);
});
//单个服务器的资料显示
MI.routeListener('server/get', function(data) {
MI.routeListener('server/get', function (data) {
MI.routeCopy('ServerPanel', data.obj);
});
//服务器控制台
MI.routeListener('server/console', function(data) {
if(data.obj == null) {
MI.routeListener('server/console', function (data) {
if (data.obj == null) {
//alert('你无权访问此服务器');
TOOLS.pushMsgWindow('您并不拥有这个服务器的所有权,需要管理员设定')
VIEW_MODEL['ConsolePanel'].serverData.name = null;
@ -111,12 +111,12 @@
MI.routeCopy('ConsolePanel', data.obj);
});
MI.routeListener('userset/view', function(data) {
MI.routeListener('userset/view', function (data) {
MI.routeCopy('OneUserView', data.obj);
});
//Minecraft 服务器终端插入
var terminalEncode = function(text) {
var terminalEncode = function (text) {
var ify = '[_b_r_]';
var txt = text;
// if(txt == '')return;
@ -127,10 +127,10 @@
return consoleSafe;
}
MI.routeListener('server/console/ws', function(data) {
MI.routeListener('server/console/ws', function (data) {
var consoleSafe = terminalEncode(data.body);
var MinecraftConsole = document.getElementById('TerminalMinecraft');
if(MinecraftConsole == undefined) {
if (MinecraftConsole == undefined) {
console.log('NULL')
}
MinecraftConsole.innerHTML += consoleSafe;
@ -140,12 +140,12 @@
var BUFF_FONTIER_SIZE_DOWN = MinecraftConsole.scrollHeight - MinecraftConsole.clientHeight;
// console.log('scrollTop:', $(MinecraftConsole).scrollTop())
if(MinecraftConsole.scrollTop + 354 >= BUFF_FONTIER_SIZE_DOWN) {
if (MinecraftConsole.scrollTop + 354 >= BUFF_FONTIER_SIZE_DOWN) {
MinecraftConsole.scrollTop = MinecraftConsole.scrollHeight;
}
});
MI.routeListener('server/console/history', function(data) {
MI.routeListener('server/console/history', function (data) {
var consoleSafe = terminalEncode(data.body);
var MinecraftConsole = document.getElementById('TerminalMinecraft');
@ -164,7 +164,7 @@
var resVTopLac = newHeightV - oldHeightV;
MinecraftConsole.scrollTop = resVTopLac - 60;
// console.log('NewTop:', resVTopLac, newHeightV, oldHeightV)
// console.log('NewTop:', resVTopLac, newHeightV, oldHeightV)
// if(MinecraftConsole.children.length > 612)MinecraftConsole.innerHTML = '';
// MinecraftConsole.scrollIntoView();
// MinecraftConsole.scrollTop = MinecraftConsole.scrollHeight;\n
@ -172,17 +172,17 @@
});
//普通用户主页
MI.routeListener('genuser/home', function(data) {
MI.routeListener('genuser/home', function (data) {
MI.routeCopy('GenHome', data.obj);
});
//配置项试图
MI.routeListener('server/properties', function(data) {
MI.routeListener('server/properties', function (data) {
MI.routeCopy('ServerProperties', data.obj);
});
//配置项试图
MI.routeListener('soft/view', function(data) {
MI.routeListener('soft/view', function (data) {
MI.routeCopy('SoftProperties', data.obj);
});

View File

@ -6,7 +6,6 @@
//from @BBleae
function wsHeartBeatPackage(ws) {
setInterval(function () {
console.log("--HeartBeatPackage--");
ws.sendMsg("HeartBeatPackage", "");
}, 10000);
}

View File

@ -1,43 +1,43 @@
<!DOCTYPE html>
<html lang="zh-CN">
<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" />
<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">
<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" />
<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]>
<!--[if lt IE 9]>
<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]-->
<!--前端完全开源,您可以自由更改,但仅限于使用在 Mcserver Manager 程序-->
<!--版权所有 Mcserver Manager 8 开发者 (Suwings) 双羽 -->
<!--前端开源使用 请遵循 MIT 协议即可已经其他额外附属条件,勿删除版权信息-->
</head>
<!--前端完全开源,您可以自由更改,但仅限于使用在 Mcserver Manager 程序-->
<!--版权所有 Mcserver Manager 8 开发者 (Suwings) 双羽 -->
<!--前端开源使用 请遵循 MIT 协议即可已经其他额外附属条件,勿删除版权信息-->
</head>
<!--百度数据统计,如果您不想被统计,请删除这段代码-->
<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>
<!--百度数据统计,如果您不想被统计,请删除这段代码-->
<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>
<!--
__ ___ __ ___
@ -49,10 +49,10 @@
Only you.
-->
<body>
<div id='Header' class="">
<div id='MasterLogo' class="HeaderItem" onclick="MCSERVER.colmDo()" style="cursor: pointer;">
<b>Mcserver
<body>
<div id='Header' class="">
<div id='MasterLogo' class="HeaderItem" onclick="MCSERVER.colmDo()" style="cursor: pointer;">
<b>Mcserver
<b> 管理面板</div>
<div class="HeaderR">
<div id='websocket' v-text="status">
@ -68,7 +68,8 @@
Mcserver Manager
<br>
<div id='websocket2'>
<div v-if="is"><span class="color-green">Online: </span>{{ MCSERVER.username }}</div>
<div v-if="is">
<span class="color-green">Online: </span>{{ MCSERVER.username }}</div>
<div v-else>offline (离线)</div>
</div>
</div>
@ -91,15 +92,15 @@
<div class="col-xs-12">
<h3 id="_TMP_LOADING">请稍等,正在传输资源 ....</h3>
<script>
(function(){
(function () {
var count = 0;
var www = document.getElementById('_TMP_LOADING');
var masks = setInterval(function(){
var masks = setInterval(function () {
www.innerHTML = www.innerHTML + '.';
count++;
if(count > 10)clearInterval(masks);
},1000);
if (count > 10) clearInterval(masks);
}, 1000);
})();
</script>
</div>
@ -122,15 +123,15 @@
<div id='ShowMenu' onclick="MCSERVER.colmDo()">
<h4></h4>
</div>
<!--页面加载进度条-->
<div class="Toolscon" id="ToolsPageLoading">
<div class="progress" style="height: 4px;line-height: 4px;background-color: inherit;border: 0px;">
<div id="ToolsLoading" class="progress-bar progress-bar-success progress-bar-striped active" style="width: 0%;height: 4px;">
</div>
<div id="ToolsLoading" class="progress-bar progress-bar-success progress-bar-striped active" style="width: 0%;height: 4px;">
</div>
</div>
</div>
<!--Js文件引用顺序不能乱所有js都是依赖于前js的-->
@ -158,68 +159,63 @@
<script type="text/javascript" src="common/js/chart.js"></script>
<script>
if(!window.$)alert('网络不流畅,文件加载失败!');
$(function(){
//事件
window.onresize = function () {
MI.on('resize', null);
}
//防止页面后退
history.pushState(null, null, document.URL);
window.addEventListener('popstate', function () {
history.pushState(null, null, document.URL);
});
if (!window.$) alert('网络不流畅,文件加载失败!');
//一般制约能力的防止被 iframe 嵌入另外HTTP返回了 X-Frame-Options: DENY
window.top.location !== window.location && (window.top.location = window.location);
// echart 路径配置
window.require.config({
paths: {
echarts: './common/echarts-dist'
$(function () {
//事件
window.onresize = function () {
MI.on('resize', null);
}
});
//抗CSRF攻击
//身份验证,令牌获取
RES.getToken(function (token) {
RES.TOKEN = token;
console.log('登陆的用户是:' + MCSERVER.username)
//初始化 Websocket
WS.init(function () {
//获取菜单
WS.sendMsg('menu', '');
//异步自动获取单页
setTimeout(function () {
//是否登陆
if (!MCSERVER.username) {
TOOLS.pushMsgWindow('身份认证失败,请重新登陆验证身份');
}
//test
// RES.redirectPage('./template/component/terminal.html','index/update', '--- 更新页面 ---');
// return;
//判断是否是#权限用户,请放心,后端也会给予判断并不只是前端
if (MCSERVER.username.substr(0, 1) == '#') {
RES.redirectPage('./template/index.html', 'index/update', '--- 更新页面 ---');
} else {
RES.redirectPage('./template/gen_home.html', 'genuser/home', '--- 更新页面 ---');
}
}, 300);
//防止页面后退
history.pushState(null, null, document.URL);
window.addEventListener('popstate', function () {
history.pushState(null, null, document.URL);
});
});
//建立 退出按钮 Vue
var vueLoginOut = new Vue({
//一般制约能力的防止被 iframe 嵌入另外HTTP返回了 X-Frame-Options: DENY
window.top.location !== window.location && (window.top.location = window.location);
// echart 路径配置
window.require.config({
paths: {
echarts: './common/echarts-dist'
}
});
//抗CSRF攻击
//身份验证,令牌获取
RES.getToken(function (token) {
RES.TOKEN = token;
console.log('登陆的用户是:' + MCSERVER.username)
//初始化 Websocket
WS.init(function () {
//获取菜单
WS.sendMsg('menu', '');
//异步自动获取单页
setTimeout(function () {
//是否登陆
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);
});
});
//建立 退出按钮 Vue
var vueLoginOut = new Vue({
el: '#loginOut',
methods: {
loginOut: function () {
@ -242,21 +238,18 @@
}
});
//工具栏
VIEW_MODEL.newVueOnce('ToolsInfo', {
el: '#ToolsInfo',
data: {
show: false,
msg: ''
}
//工具栏
VIEW_MODEL.newVueOnce('ToolsInfo', {
el: '#ToolsInfo',
data: {
show: false,
msg: ''
}
});
VIEW_MODEL.COMMON = {};
});
VIEW_MODEL.COMMON = {};
});
</script>
</body>