pull/518/head
Mr Chen 1 year ago
parent 6a27e69ee7
commit 558bfcb1ee
  1. 2
      class/core/config_api.py
  2. 13
      class/core/system_api.py
  3. 71
      route/static/app/index.js
  4. 7
      route/static/app/soft.js
  5. 2
      route/templates/default/index.html

@ -27,7 +27,7 @@ from flask import request
class config_api: class config_api:
__version = '0.16.2.1' __version = '0.16.2.2'
__api_addr = 'data/api.json' __api_addr = 'data/api.json'
def __init__(self): def __init__(self):

@ -299,7 +299,8 @@ class system_api:
data_list = data.strip().split("\n") data_list = data.strip().split("\n")
mac_version = '' mac_version = ''
for x in data_list: for x in data_list:
mac_version += x.split("\t")[1] + ' ' xlist = x.split("\t")
mac_version += xlist[len(xlist)-1] + ' '
arch_ver = mw.execShell("arch") arch_ver = mw.execShell("arch")
return mac_version + " (" + arch_ver[0].strip() + ")" return mac_version + " (" + arch_ver[0].strip() + ")"
@ -366,15 +367,15 @@ class system_api:
mem = psutil.virtual_memory() mem = psutil.virtual_memory()
if mw.getOs() == 'darwin': if mw.getOs() == 'darwin':
memInfo = { memInfo = {
'memTotal': mem.total / 1024 / 1024 'memTotal': mem.total,
} }
memInfo['memRealUsed'] = memInfo['memTotal'] * (mem.percent / 100) memInfo['memRealUsed'] = memInfo['memTotal'] * (mem.percent / 100)
else: else:
memInfo = { memInfo = {
'memTotal': mem.total / 1024 / 1024, 'memTotal': mem.total,
'memFree': mem.free / 1024 / 1024, 'memFree': mem.free,
'memBuffers': mem.buffers / 1024 / 1024, 'memBuffers': mem.buffers,
'memCached': mem.cached / 1024 / 1024 'memCached': mem.cached
} }
memInfo['memRealUsed'] = memInfo['memTotal'] - \ memInfo['memRealUsed'] = memInfo['memTotal'] - \

@ -6,7 +6,7 @@ $(function() {
$(this).find(".mask").css({ "color": "#d2edd8" }); $(this).find(".mask").css({ "color": "#d2edd8" });
$(this).find(".mem-re-con").css({ "display": "block" }); $(this).find(".mem-re-con").css({ "display": "block" });
$(this).find(".mem-re-con").animate({ "top": "0", opacity: 1 }); $(this).find(".mem-re-con").animate({ "top": "0", opacity: 1 });
$("#memory").text(lan.index.memre); $("#memory").text('内存释放');
} }
}, function() { }, function() {
$(this).removeClass("shine_green"); $(this).removeClass("shine_green");
@ -200,27 +200,34 @@ function clearSystem() {
} }
function setMemImg(info){ function setMemImg(info){
setCookie("memRealUsed", parseInt(info.memRealUsed));
$("#memory").html(parseInt(info.memRealUsed) + '/' + parseInt(info.memTotal) + ' (MB)'); var memRealUsed = toSize(info.memRealUsed);
setCookie("mem-before", $("#memory").text()); var memTotal = toSize(info.memTotal);
if (!getCookie('memSize')) setCookie('memSize', parseInt(info.memTotal));
var memRealUsedVal = memRealUsed.split(' ')[0];
var memTotalVal = memTotal.split(' ')[0];
var unit = memTotal.split(' ')[1];
var mem_txt = memRealUsedVal + '/' + memTotalVal + ' ('+ unit +')';
setCookie("mem-before", mem_txt);
$("#memory").html(mem_txt);
var memPre = Math.floor(info.memRealUsed / (info.memTotal / 100)); var memPre = Math.floor(info.memRealUsed / (info.memTotal / 100));
$("#left").html(memPre); $("#left").html(memPre);
setcolor(memPre, "#left", 75, 90, 95); setcolor(memPre, "#left", 75, 90, 95);
$("#state").html(info.cpuRealUsed);
setcolor(memPre, "#state", 30, 70, 90); var memFree = info.memTotal - info.memRealUsed;
setImg(); if (memFree/(1024*1024) < 64) {
$("#messageError").show();
$("#messageError").append('<p><span class="glyphicon glyphicon-alert" style="color: #ff4040; margin-right: 10px;">当前可用物理内存小于64M,这可能导致MySQL自动停止,站点502等错误,请尝试释放内存!</span></p>')
}
} }
function getInfo() { function getInfo() {
$.get("/system/system_total", function(info) { $.get("/system/system_total", function(info) {
setCookie("memRealUsed", parseInt(info.memRealUsed));
$("#memory").html(parseInt(info.memRealUsed) + '/' + parseInt(info.memTotal) + ' (MB)'); setMemImg(info);
setCookie("mem-before", $("#memory").text());
if (!getCookie('memSize')) setCookie('memSize', parseInt(info.memTotal));
var memPre = Math.floor(info.memRealUsed / (info.memTotal / 100));
$("#left").html(memPre);
setcolor(memPre, "#left", 75, 90, 95);
$("#info").html(info.system); $("#info").html(info.system);
$("#running").html(info.time); $("#running").html(info.time);
var _system = info.system; var _system = info.system;
@ -241,13 +248,8 @@ function getInfo() {
} }
$("#core").html(info.cpuNum + ' 核心'); $("#core").html(info.cpuNum + ' 核心');
$("#state").html(info.cpuRealUsed); $("#state").html(info.cpuRealUsed);
setcolor(memPre, "#state", 30, 70, 90); setcolor(info.cpuRealUsed, "#state", 30, 70, 90);
var memFree = info.memTotal - info.memRealUsed;
if (memFree < 64) {
$("#messageError").show();
$("#messageError").append('<p><span class="glyphicon glyphicon-alert" style="color: #ff4040; margin-right: 10px;">' + lan.index.mem_warning + '</span> </p>')
}
// if (info.isuser > 0) { // if (info.isuser > 0) {
// $("#messageError").show(); // $("#messageError").show();
@ -281,6 +283,7 @@ function setcolor(pre, s, s1, s2, s3) {
function getNet() { function getNet() {
var up, down; var up, down;
$.get("/system/network", function(net) { $.get("/system/network", function(net) {
$("#InterfaceSpeed").html(lan.index.interfacespeed + ": 1.0Gbps"); $("#InterfaceSpeed").html(lan.index.interfacespeed + ": 1.0Gbps");
$("#upSpeed").html(toSize(net.up)); $("#upSpeed").html(toSize(net.up));
$("#downSpeed").html(toSize(net.down)); $("#downSpeed").html(toSize(net.down));
@ -293,12 +296,17 @@ function getNet() {
setcolor(net.cpu[0], "#state", 30, 70, 90); setcolor(net.cpu[0], "#state", 30, 70, 90);
setCookie("upNet", net.up); setCookie("upNet", net.up);
setCookie("downNet", net.down); setCookie("downNet", net.down);
//负载
getLoad(net.load); getLoad(net.load);
// setMemImg(net.mem); //内存
setImg(); setMemImg(net.mem);
//绑定hover事件
setImg();
showCpuTips(net); showCpuTips(net);
},'json'); },'json');
} }
@ -344,7 +352,7 @@ function netImg() {
tmp = getCookie("downNet"); tmp = getCookie("downNet");
} }
var tmpSize = toSize(tmp); var tmpSize = toSize(tmp);
default_unit = tmpSize.split(' ')[1]; default_unit = tmpSize.split(' ')[1] + '/s';
var upNetTmp = toSize(getCookie("upNet")); var upNetTmp = toSize(getCookie("upNet"));
@ -399,14 +407,10 @@ function netImg() {
yAxis: { yAxis: {
name: '单位 '+ default_unit, name: '单位 '+ default_unit,
splitLine: { splitLine: {
lineStyle: { lineStyle: { color: "#eee" }
color: "#eee"
}
}, },
axisLine: { axisLine: {
lineStyle: { lineStyle: { color: "#666" }
color: "#666"
}
} }
}, },
series: [{ series: [{
@ -474,6 +478,11 @@ function netImg() {
getNet(); getNet();
addData(true); addData(true);
echartsNetImg.setOption({ echartsNetImg.setOption({
yAxis: {
name: '单位 '+ default_unit,
splitLine: { lineStyle: { color: "#eee" } },
axisLine: { lineStyle: { color: "#666" } }
},
xAxis: { xAxis: {
data: xData data: xData
}, },
@ -632,7 +641,6 @@ function reBoot() {
content: '<div class="rebt-con"><div class="rebt-li"><a data-id="server" href="javascript:;">重启服务器</a></div><div class="rebt-li"><a data-id="panel" href="javascript:;">重启面板</a></div></div>' content: '<div class="rebt-con"><div class="rebt-li"><a data-id="server" href="javascript:;">重启服务器</a></div><div class="rebt-li"><a data-id="panel" href="javascript:;">重启面板</a></div></div>'
}); });
$('.rebt-con a').click(function () { $('.rebt-con a').click(function () {
var type = $(this).attr('data-id'); var type = $(this).attr('data-id');
switch (type) { switch (type) {
@ -757,6 +765,7 @@ function setSafeHide() {
setCookie('safeMsg', '1'); setCookie('safeMsg', '1');
$("#safeMsg").remove(); $("#safeMsg").remove();
} }
//查看报告 //查看报告
function showDanger(num, port) { function showDanger(num, port) {
var atxt = "因未使用安全隔离登录,所有IP都可以尝试连接,存在较高风险,请立即处理。"; var atxt = "因未使用安全隔离登录,所有IP都可以尝试连接,存在较高风险,请立即处理。";

@ -403,7 +403,12 @@ function indexListHtml(callback){
//首页软件列表 //首页软件列表
function indexSoft() { function indexSoft() {
indexListHtml(function(){ indexListHtml(function(){
$("#indexsoft").dragsort({ dragSelector: ".spanmove", dragBetween: true, dragEnd: saveOrder, placeHolderTemplate: "<div class='col-sm-3 col-md-3 col-lg-3 dashed-border'></div>" }); $("#indexsoft").dragsort({
dragSelector: ".spanmove",
dragBetween: true,
dragEnd: saveOrder,
placeHolderTemplate: "<div class='col-sm-3 col-md-3 col-lg-3 dashed-border'></div>"
});
}); });
function saveOrder() { function saveOrder() {

@ -135,7 +135,7 @@ setTimeout(function() {
setTimeout(function() { setTimeout(function() {
getInfo(); getInfo();
}, 1500); }, 200);
</script> </script>
{% endblock %} {% endblock %}
Loading…
Cancel
Save