$(function() {
$(".mem-release").hover(function() {
$(this).addClass("shine_green");
if (!($(this).hasClass("mem-action"))) {
$(this).find(".mem-re-min").hide();
$(this).find(".mask").css({ "color": "#d2edd8" });
$(this).find(".mem-re-con").css({ "display": "block" });
$(this).find(".mem-re-con").animate({ "top": "0", opacity: 1 });
$("#memory").text(lan.index.memre);
}
}, function() {
$(this).removeClass("shine_green");
$(this).find(".mask").css({ "color": "#20a53a" });
$(this).find(".mem-re-con").css({ "top": "15px", opacity: 1, "display": "none" });
$("#memory").text(getCookie("mem-before"));
$(this).find(".mem-re-min").hide();
}).click(function() {
$(this).find(".mem-re-min").hide();
if (!($(this).hasClass("mem-action"))) {
ReMemory();
var btlen = $(".mem-release").find(".mask span").text();
$(this).addClass("mem-action");
$(this).find(".mask").css({ "color": "#20a53a" });
$(this).find(".mem-re-con").animate({ "top": "-400px", opacity: 0 });
$(this).find(".pie_right .right").css({ "transform": "rotate(3deg)" });
for (var i = 0; i < btlen; i++) {
setTimeout("rocket(" + btlen + "," + i + ")", i * 30);
}
}
});
});
//获取负载
function getLoad(data) {
$("#LoadList .mask").html("获取中..");
setCookie('one', data.one);
setCookie('five', data.five);
setCookie('fifteen', data.fifteen);
var transformLeft, transformRight, LoadColor, Average, Occupy, AverageText, conterError = '';
var index = $("#LoadList");
if (Average == undefined) Average = data.one;
setCookie('conterError', conterError);
Occupy = Math.round((Average / data.max) * 100);
if (Occupy > 100) Occupy = 100;
if (Occupy <= 30) {
LoadColor = '#20a53a';
AverageText = '运行流畅';
} else if (Occupy <= 70) {
LoadColor = '#6ea520';
AverageText = '运行正常';
} else if (Occupy <= 90) {
LoadColor = '#ff9900';
AverageText = '运行缓慢';
} else {
LoadColor = '#dd2f00';
AverageText = '运行堵塞';
}
index.find('.circle').css("background", LoadColor);
index.find('.mask').css({ "color": LoadColor });
$("#LoadList .mask").html("%");
$('#Load').html(Occupy);
$('#LoadState').html('' + AverageText + '');
setImg();
}
$('#LoadList .circle').click(function() {
getNet();
});
$('#LoadList .mask').hover(function() {
var one, five, fifteen;
var that = this;
one = getCookie('one');
five = getCookie('five');
fifteen = getCookie('fifteen');
var text = '最近1分钟平均负载:' + one + '最近5分钟平均负载:' + five + '最近15分钟平均负载:' + fifteen + '';
layer.tips(text, that, { time: 0, tips: [1, '#999'] });
}, function() {
layer.closeAll('tips');
});
function rocket(sum, m) {
var n = sum - m;
$(".mem-release").find(".mask span").text(n);
}
//释放内存
function ReMemory() {
setTimeout(function() {
$(".mem-release").find('.mask').css({ 'color': '#20a53a', 'font-size': '14px' }).html(' ' + lan.index.memre_ok_0 + ' ');
$.post('/system?action=ReMemory', '', function(rdata) {
var percent = GetPercent(rdata.memRealUsed, rdata.memTotal);
var memText = rdata.memRealUsed + "/" + rdata.memTotal + " (MB)";
percent = Math.round(percent);
$(".mem-release").find('.mask').css({ 'color': '#20a53a', 'font-size': '14px' }).html(" " + lan.index.memre_ok);
setCookie("mem-before", memText);
var memNull = getCookie("memRealUsed") - rdata.memRealUsed;
setTimeout(function() {
if (memNull > 0) {
$(".mem-release").find('.mask').css({ 'color': '#20a53a', 'font-size': '14px', 'line-height': '22px', 'padding-top': '22px' }).html(" " + lan.index.memre_ok_1 + "
" + memNull + "MB");
} else {
$(".mem-release").find('.mask').css({ 'color': '#20a53a', 'font-size': '14px' }).html(" " + lan.index.memre_ok_2);
}
$(".mem-release").removeClass("mem-action");
$("#memory").text(memText);
setCookie("memRealUsed", rdata.memRealUsed);
}, 1000);
setTimeout(function() {
$(".mem-release").find('.mask').removeAttr("style").html("" + percent + "%");
$(".mem-release").find(".mem-re-min").show();
}, 2000)
});
}, 2000);
}
function GetPercent(num, total) {
num = parseFloat(num);
total = parseFloat(total);
if (isNaN(num) || isNaN(total)) {
return "-";
}
return total <= 0 ? "0%" : (Math.round(num / total * 10000) / 100.00);
}
function GetDiskInfo() {
$.get('/system/disk_info', function(rdata) {
console.log(rdata);
var dBody
for (var i = 0; i < rdata.length; i++) {
if (rdata[i].path == '/' || rdata[i].path == '/www') {
if (rdata[i].size[2].indexOf('M') != -1) {
$("#messageError").show();
$("#messageError").append('
' + lan.get('diskinfo_span_1', [rdata[i].path]) + '[清理垃圾]
'); } var ipre = parseInt(rdata[i].inodes[3].replace('%', '')); if (ipre > 95) { $("#messageError").show(); $("#messageError").append('分区[' + rdata[i].path + ']当前Inode使用率超过' + ipre + '%,当使用率满100%时将无法在此分区创建文件,请及时清理![清理垃圾]
'); } } var LoadColor = setcolor(parseInt(rdata[i].size[3].replace('%', '')), false, 75, 90, 95); dBody = '' + lan.index.mem_warning + '
') } if (info.isuser > 0) { $("#messageError").show(); $("#messageError").append('' + lan.index.user_warning + ' [不可忽略] [立即修改]
') } setImg(); },'json'); } function setcolor(pre, s, s1, s2, s3) { var LoadColor; if (pre <= s1) { LoadColor = '#20a53a'; } else if (pre <= s2) { LoadColor = '#6ea520'; } else if (pre <= s3) { LoadColor = '#ff9900'; } else { LoadColor = '#dd2f00'; } if (s == false) { return LoadColor; } var co = $(s).parent('.mask'); co.css("color", LoadColor); co.parent('.circle').css("background", LoadColor); } function getNet() { var up; var down; $.get("/system/network", function(net) { $("#InterfaceSpeed").html(lan.index.interfacespeed + ": 1.0Gbps"); $("#upSpeed").html(net.up + ' KB'); $("#downSpeed").html(net.down + ' KB'); $("#downAll").html(ToSize(net.downTotal)); $("#downAll").attr('title', lan.index.package + ':' + net.downPackets) $("#upAll").html(ToSize(net.upTotal)); $("#upAll").attr('title', lan.index.package + ':' + net.upPackets) $("#core").html(net.cpu[1] + " " + lan.index.cpu_core); $("#state").html(net.cpu[0]); setcolor(net.cpu[0], "#state", 30, 70, 90); setCookie("upNet", net.up); setCookie("downNet", net.down); getLoad(net.load); // console.log(net.mem); // setMemImg(net.mem); setImg(); },'json'); } //网络Io function NetImg() { var myChartNetwork = echarts.init(document.getElementById('NetImg')); var xData = []; var yData = []; var zData = []; function getTime() { var now = new Date(); var hour = now.getHours(); var minute = now.getMinutes(); var second = now.getSeconds(); if (minute < 10) { minute = "0" + minute; } if (second < 10) { second = "0" + second; } var nowdate = hour + ":" + minute + ":" + second; return nowdate; } function ts(m) { return m < 10 ? '0' + m : m } function format(sjc) { var time = new Date(sjc); var h = time.getHours(); var mm = time.getMinutes(); var s = time.getSeconds(); return ts(h) + ':' + ts(mm) + ':' + ts(s); } function addData(shift) { xData.push(getTime()); yData.push(getCookie("upNet")); zData.push(getCookie("downNet")); if (shift) { xData.shift(); yData.shift(); zData.shift(); } } for (var i = 8; i >= 0; i--) { var time = (new Date()).getTime(); xData.push(format(time - (i * 3 * 1000))); yData.push(0); zData.push(0); } // 指定图表的配置项和数据 var option = { title: { text: lan.index.interface_net, left: 'center', textStyle: { color: '#888888', fontStyle: 'normal', fontFamily: lan.index.net_font, fontSize: 16, } }, tooltip: { trigger: 'axis' }, legend: { data: [lan.index.net_up, lan.index.net_down], bottom: '2%' }, xAxis: { type: 'category', boundaryGap: false, data: xData, axisLine: { lineStyle: { color: "#666" } } }, yAxis: { name: lan.index.unit + 'KB/s', splitLine: { lineStyle: { color: "#eee" } }, axisLine: { lineStyle: { color: "#666" } } }, series: [{ name: lan.index.net_up, type: 'line', data: yData, smooth: true, showSymbol: false, symbol: 'circle', symbolSize: 6, areaStyle: { normal: { color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ offset: 0, color: 'rgba(255, 140, 0,0.5)' }, { offset: 1, color: 'rgba(255, 140, 0,0.8)' }], false) } }, itemStyle: { normal: { color: '#f7b851' } }, lineStyle: { normal: { width: 1 } } }, { name: lan.index.net_down, type: 'line', data: zData, smooth: true, showSymbol: false, symbol: 'circle', symbolSize: 6, areaStyle: { normal: { color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ offset: 0, color: 'rgba(30, 144, 255,0.5)' }, { offset: 1, color: 'rgba(30, 144, 255,0.8)' }], false) } }, itemStyle: { normal: { color: '#52a9ff' } }, lineStyle: { normal: { width: 1 } } }] }; setInterval(function() { getNet(); addData(true); myChartNetwork.setOption({ xAxis: { data: xData }, series: [{ name: lan.index.net_up, data: yData }, { name: lan.index.net_down, data: zData }] }); }, 3000); // 使用刚指定的配置项和数据显示图表。 myChartNetwork.setOption(option); window.addEventListener("resize", function() { myChartNetwork.resize(); }); } NetImg(); function setImg() { $('.circle').each(function(index, el) { var num = $(this).find('span').text() * 3.6; if (num <= 180) { $(this).find('.left').css('transform', "rotate(0deg)"); $(this).find('.right').css('transform', "rotate(" + num + "deg)"); } else { $(this).find('.right').css('transform', "rotate(180deg)"); $(this).find('.left').css('transform', "rotate(" + (num - 180) + "deg)"); }; }); $('.diskbox .mask').hover(function() { layer.closeAll('tips'); var that = this; var conterError = $(this).attr("data"); layer.tips(conterError, that, { time: 0, tips: [1, '#999'] }); }, function() { layer.closeAll('tips'); }); } setImg(); //检查更新 // setTimeout(function() { // $.get('/system/update_panel', function(rdata) { // if (rdata.status == false) return; // if (rdata.version != undefined) { // $("#toUpdate").html('' + lan.index.update_go + ''); // return; // } // $.get('/system?action=ReWeb', function() {}); // layer.msg(rdata.msg, { icon: 1 }); // setTimeout(function() { // window.location.reload(); // }, 3000); // }).error(function() { // $.get('/system?action=ReWeb', function() {}); // setTimeout(function() { // window.location.reload(); // }, 3000); // },'json'); // }, 3000); //检查更新 function checkUpdate() { var loadT = layer.msg(lan.index.update_get, { icon: 16, time: 0, shade: [0.3, '#000'] }); $.get('/ajax?action=UpdatePanel&check=true', function(rdata) { layer.close(loadT); if (rdata.status === false) { layer.confirm(rdata.msg, { title: lan.index.update_check, icon: 1, closeBtn: 2, btn: [lan.public.know, lan.public.close] }); return; } layer.msg(rdata.msg, { icon: 1 }); if (rdata.version != undefined) updateMsg(); }); } //开始升级 function updateVersion(version) { var loadT = layer.msg(lan.index.update_the, { icon: 16, time: 0, shade: [0.3, '#000'] }); $.get('/ajax?action=UpdatePanel', 'toUpdate=yes', function(rdata) { layer.closeAll(); if (rdata.status === false) { layer.msg(rdata.msg, { icon: 5, time: 5000 }); return; } layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 }); if (rdata.status) { $("#btversion").html(version); $("#toUpdate").html(''); } layer.msg(lan.index.update_ok, { icon: 1 }); $.get('/system?action=ReWeb', function() {}); setTimeout(function() { window.location.reload(); }, 3000); }).error(function() { layer.msg(lan.index.update_ok, { icon: 1 }); $.get('/system?action=ReWeb', function() {}); setTimeout(function() { window.location.reload(); }, 3000); }); } //重启服务器 function ReBoot() { layer.open({ type: 1, title: lan.index.reboot_title, area: ['500px', '280px'], closeBtn: 2, shadeClose: false, content: "" + lan.index.reboot_warning + "
\" + lan.index.reboot_ps + "
\" + lan.index.reboot_ps_1 + "
\" + lan.index.reboot_ps_2 + "
\" + lan.index.reboot_ps_3 + "
\" + lan.index.reboot_ps_4 + "
\" + lan.index.reboot_msg_1 + "
"); $.post('/system?action=ServiceAdmin', data, function(r1) { data = "name=mysqld&type=stop"; $(".SafeRestartCode").html("" + lan.index.reboot_msg_1 + "
" + lan.index.reboot_msg_2 + "...
"); $.post('/system?action=ServiceAdmin', data, function(r2) { $(".SafeRestartCode").html("正在停止" + serverType + "服务
" + lan.index.reboot_msg_2 + "
" + lan.index.reboot_msg_3 + "...
"); $.post('/system?action=RestartServer', '', function(rdata) { $(".SafeRestartCode").html("" + lan.index.reboot_msg_1 + "
" + lan.index.reboot_msg_2 + "
" + lan.index.reboot_msg_3 + "
" + lan.index.reboot_msg_4 + "...
"); var sEver = setInterval(function() { $.get("/system/system_total", function(info) { clearInterval(sEver); $(".SafeRestartCode").html("" + lan.index.reboot_msg_1 + "
" + lan.index.reboot_msg_2 + "
" + lan.index.reboot_msg_3 + "
" + lan.index.reboot_msg_4 + "
" + lan.index.reboot_msg_5 + "
"); setTimeout(function() { layer.closeAll(); }, 3000); },'json').error(function() { }); }, 3000); }).error(function() { $(".SafeRestartCode").html("" + lan.index.reboot_msg_1 + "
" + lan.index.reboot_msg_2 + "
" + lan.index.reboot_msg_3 + "
" + lan.index.reboot_msg_4 + "...
"); var sEver = setInterval(function() { $.get("/system/system_total", function(info) { clearInterval(sEver); $(".SafeRestartCode").html("" + lan.index.reboot_msg_1 + "
" + lan.index.reboot_msg_2 + "
" + lan.index.reboot_msg_3 + "
" + lan.index.reboot_msg_4 + "
" + lan.index.reboot_msg_5 + "
"); setTimeout(function() { layer.closeAll(); window.location.reload(); }, 3000); },'json').error(function() { }); }, 3000); }); }); }); $(".layui-layer-close").unbind("click"); } //屏蔽指定IP function dropAddress(address) { layer.confirm(lan.index.net_doup_ip_msg, { icon: 3, closeBtn: 2 }, function() { loadT = layer.msg(lan.index.net_doup_ip_to, { icon: 16, time: 0, shade: [0.3, '#000'] }); $.post('/firewall?action=AddDropAddress', 'port=' + address + '&ps=' + lan.index.net_doup_ip_ps, function(rdata) { layer.close(loadT); layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 }); }); }); } //修复面板 function repPanel() { layer.confirm(lan.index.rep_panel_msg, { title: lan.index.rep_panel_title, closeBtn: 2, icon: 3 }, function() { var loadT = layer.msg(lan.index.rep_panel_the, { icon: 16, time: 0, shade: [0.3, '#000'] }); $.get('/system?action=RepPanel', function(rdata) { layer.close(loadT); layer.msg(lan.index.rep_panel_ok, { icon: 1 }); }).error(function() { layer.close(loadT); layer.msg(lan.index.rep_panel_ok, { icon: 1 }); }); }); } //获取警告信息 function GetWarning() { $.get('/ajax?action=GetWarning', function(wlist) { var num = 0; for (var i = 0; i < wlist.data.length; i++) { if (wlist.data[i].ignore_count >= wlist.data[i].ignore_limit) continue; if (wlist.data[i].ignore_time != 0 && (wlist.time - wlist.data[i].ignore_time) < wlist.data[i].ignore_timeout) continue; var btns = ''; for (var n = 0; n < wlist.data[i].btns.length; n++) { if (wlist.data[i].btns[n].type == 'javascript') { btns += ' ' + wlist.data[i].btns[n].title + '' } else { btns += ' ' + wlist.data[i].btns[n].title + '' } } $("#messageError").append('' + wlist.data[i].body + btns + '