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:
__version = '0.16.2.1'
__version = '0.16.2.2'
__api_addr = 'data/api.json'
def __init__(self):

@ -299,7 +299,8 @@ class system_api:
data_list = data.strip().split("\n")
mac_version = ''
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")
return mac_version + " (" + arch_ver[0].strip() + ")"
@ -366,15 +367,15 @@ class system_api:
mem = psutil.virtual_memory()
if mw.getOs() == 'darwin':
memInfo = {
'memTotal': mem.total / 1024 / 1024
'memTotal': mem.total,
}
memInfo['memRealUsed'] = memInfo['memTotal'] * (mem.percent / 100)
else:
memInfo = {
'memTotal': mem.total / 1024 / 1024,
'memFree': mem.free / 1024 / 1024,
'memBuffers': mem.buffers / 1024 / 1024,
'memCached': mem.cached / 1024 / 1024
'memTotal': mem.total,
'memFree': mem.free,
'memBuffers': mem.buffers,
'memCached': mem.cached
}
memInfo['memRealUsed'] = memInfo['memTotal'] - \

@ -6,7 +6,7 @@ $(function() {
$(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);
$("#memory").text('内存释放');
}
}, function() {
$(this).removeClass("shine_green");
@ -200,27 +200,34 @@ function clearSystem() {
}
function setMemImg(info){
setCookie("memRealUsed", parseInt(info.memRealUsed));
$("#memory").html(parseInt(info.memRealUsed) + '/' + parseInt(info.memTotal) + ' (MB)');
setCookie("mem-before", $("#memory").text());
if (!getCookie('memSize')) setCookie('memSize', parseInt(info.memTotal));
var memRealUsed = toSize(info.memRealUsed);
var memTotal = toSize(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));
$("#left").html(memPre);
setcolor(memPre, "#left", 75, 90, 95);
$("#state").html(info.cpuRealUsed);
setcolor(memPre, "#state", 30, 70, 90);
setImg();
var memFree = info.memTotal - info.memRealUsed;
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() {
$.get("/system/system_total", function(info) {
setCookie("memRealUsed", parseInt(info.memRealUsed));
$("#memory").html(parseInt(info.memRealUsed) + '/' + parseInt(info.memTotal) + ' (MB)');
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);
setMemImg(info);
$("#info").html(info.system);
$("#running").html(info.time);
var _system = info.system;
@ -241,13 +248,8 @@ function getInfo() {
}
$("#core").html(info.cpuNum + ' 核心');
$("#state").html(info.cpuRealUsed);
setcolor(memPre, "#state", 30, 70, 90);
var memFree = info.memTotal - info.memRealUsed;
setcolor(info.cpuRealUsed, "#state", 30, 70, 90);
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) {
// $("#messageError").show();
@ -281,6 +283,7 @@ function setcolor(pre, s, s1, s2, s3) {
function getNet() {
var up, down;
$.get("/system/network", function(net) {
$("#InterfaceSpeed").html(lan.index.interfacespeed + ": 1.0Gbps");
$("#upSpeed").html(toSize(net.up));
$("#downSpeed").html(toSize(net.down));
@ -293,12 +296,17 @@ function getNet() {
setcolor(net.cpu[0], "#state", 30, 70, 90);
setCookie("upNet", net.up);
setCookie("downNet", net.down);
//负载
getLoad(net.load);
// setMemImg(net.mem);
setImg();
//内存
setMemImg(net.mem);
//绑定hover事件
setImg();
showCpuTips(net);
},'json');
}
@ -344,7 +352,7 @@ function netImg() {
tmp = getCookie("downNet");
}
var tmpSize = toSize(tmp);
default_unit = tmpSize.split(' ')[1];
default_unit = tmpSize.split(' ')[1] + '/s';
var upNetTmp = toSize(getCookie("upNet"));
@ -399,14 +407,10 @@ function netImg() {
yAxis: {
name: '单位 '+ default_unit,
splitLine: {
lineStyle: {
color: "#eee"
}
lineStyle: { color: "#eee" }
},
axisLine: {
lineStyle: {
color: "#666"
}
lineStyle: { color: "#666" }
}
},
series: [{
@ -474,6 +478,11 @@ function netImg() {
getNet();
addData(true);
echartsNetImg.setOption({
yAxis: {
name: '单位 '+ default_unit,
splitLine: { lineStyle: { color: "#eee" } },
axisLine: { lineStyle: { color: "#666" } }
},
xAxis: {
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>'
});
$('.rebt-con a').click(function () {
var type = $(this).attr('data-id');
switch (type) {
@ -757,6 +765,7 @@ function setSafeHide() {
setCookie('safeMsg', '1');
$("#safeMsg").remove();
}
//查看报告
function showDanger(num, port) {
var atxt = "因未使用安全隔离登录,所有IP都可以尝试连接,存在较高风险,请立即处理。";

@ -403,7 +403,12 @@ function indexListHtml(callback){
//首页软件列表
function indexSoft() {
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() {

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