pull/109/head
Mr Chen 7 years ago
parent 26549be4c4
commit f54af6dce3
  1. 2
      class/core/plugin.py
  2. 8
      class/core/public.py
  3. 9
      class/core/system_api.py
  4. 7
      static/css/site.css
  5. 24
      static/js/index.js
  6. 182
      static/js/soft.js
  7. 2
      task.py

@ -68,7 +68,7 @@ class plugin:
# 构造本地插件信息 # 构造本地插件信息
def getPluginInfo(self, info): def getPluginInfo(self, info):
print info["checks"] # print info["checks"]
checks = "" checks = ""
if info["checks"][0:1] == "/": if info["checks"][0:1] == "/":

@ -143,6 +143,14 @@ def returnMsg(status, msg, args=()):
return {'status': status, 'msg': msg, 'data': args} return {'status': status, 'msg': msg, 'data': args}
def getInfo(msg, args=()):
# 取提示消息
for i in range(len(args)):
rep = '{' + str(i + 1) + '}'
msg = msg.replace(rep, args[i])
return msg
def getMsg(key, args=()): def getMsg(key, args=()):
# 取提示消息 # 取提示消息
try: try:

@ -125,7 +125,12 @@ class system_api:
# 取操作系统版本 # 取操作系统版本
os = public.getOs() os = public.getOs()
if os == 'darwin': if os == 'darwin':
return os data = public.execShell('sw_vers')[0]
data_list = data.strip().split("\n")
mac_version = ''
for x in data_list:
mac_version += x.split("\t")[1] + ' '
return mac_version
version = public.readFile('/etc/redhat-release') version = public.readFile('/etc/redhat-release')
if not version: if not version:
@ -146,7 +151,7 @@ class system_api:
days = math.floor(hours / 24) days = math.floor(hours / 24)
hours = math.floor(hours - (days * 24)) hours = math.floor(hours - (days * 24))
min = math.floor(min - (days * 60 * 24) - (hours * 60)) min = math.floor(min - (days * 60 * 24) - (hours * 60))
return public.getMsg('SYS_BOOT_TIME', (str(int(days)), str(int(hours)), str(int(min)))) return public.getInfo('已不间断运行: {1}{2}小时{3}分钟', (str(int(days)), str(int(hours)), str(int(min))))
def getCpuInfo(self, interval=1): def getCpuInfo(self, interval=1):
# 取CPU信息 # 取CPU信息

@ -4363,6 +4363,13 @@ html .menu .menu_exit:hover {
background-repeat:no-repeat; background-repeat:no-repeat;
padding-left: 20px; padding-left: 20px;
} }
.ico-mac{
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAA9ElEQVQ4T5XSvyvGURTH8dej+AsMyGAykEWSTSkyPFJMyvAsYjFZJWZ/gQyKYjEZLcrkRzZZTXomgyzKj3TkW99u6l63bt3OPe/z43NOQ/6sI+5g6trIsMs4wjUm/gs/og+TuMrBA1jAO06wgn3MohfHeKqC1MvexBY6fz/fcI+xWsZXNHEZtgpu4SCvnRfM4KYOn2O6AF7DXr3syB4ldhXAw3hIe/5ERwEc/d+lcBs9BfAOtlM4RrBUAH8hprKLj0rtRZwWwOES4xupqx3vWMHxggDzOEvhftxmer/A1F8bFrYhbKAbh3jGKOYQoq4ituznfAP/VikQF8NdKgAAAABJRU5ErkJggg==");
background-repeat:no-repeat;
padding-top: 2px;
padding-left: 20px;
}
.index-pos-box{ .index-pos-box{
height: 52px; height: 52px;
box-shadow: 0 1px 2px 0 rgba(0,0,0,.1); box-shadow: 0 1px 2px 0 rgba(0,0,0,.1);

@ -122,8 +122,7 @@ function GetPercent(num, total) {
function GetDiskInfo() { function GetDiskInfo() {
$.get('/system/disk_info', function(rdata) { $.get('/system/disk_info', function(rdata) {
console.log(rdata); var dBody;
var dBody
for (var i = 0; i < rdata.length; i++) { for (var i = 0; i < rdata.length; i++) {
if (rdata[i].path == '/' || rdata[i].path == '/www') { if (rdata[i].path == '/' || rdata[i].path == '/www') {
if (rdata[i].size[2].indexOf('M') != -1) { if (rdata[i].size[2].indexOf('M') != -1) {
@ -158,7 +157,7 @@ function GetDiskInfo() {
} }
//清理垃圾 //清理垃圾
function ClearSystem() { function clearSystem() {
var loadT = layer.msg('正在清理系统垃圾 <img src="/static/img/ing.gif">', { icon: 16, time: 0, shade: [0.3, "#000"] }); var loadT = layer.msg('正在清理系统垃圾 <img src="/static/img/ing.gif">', { icon: 16, time: 0, shade: [0.3, "#000"] });
$.get('/system?action=ClearSystem', function(rdata) { $.get('/system?action=ClearSystem', function(rdata) {
layer.close(loadT); layer.close(loadT);
@ -190,7 +189,23 @@ function getInfo() {
setcolor(memPre, "#left", 75, 90, 95); setcolor(memPre, "#left", 75, 90, 95);
$("#info").html(info.system); $("#info").html(info.system);
$("#running").html(info.time); $("#running").html(info.time);
$("#core").html(info.cpuNum + " " + '核心'); var _system = info.system;
if(_system.indexOf("Windows") != -1){
$(".ico-system").addClass("ico-windows");
} else if(_system.indexOf("CentOS") != -1) {
$(".ico-system").addClass("ico-centos");
} else if(_system.indexOf("Ubuntu") != -1) {
$(".ico-system").addClass("ico-ubuntu");
} else if(_system.indexOf("Debian") != -1) {
$(".ico-system").addClass("ico-debian");
} else if(_system.indexOf("Fedora") != -1) {
$(".ico-system").addClass("ico-fedora");
} else if(_system.indexOf("Mac") != -1){
$(".ico-system").addClass("ico-mac");
} else {
$(".ico-system").addClass("ico-linux");
}
$("#core").html(info.cpuNum + ' 核心');
$("#state").html(info.cpuRealUsed); $("#state").html(info.cpuRealUsed);
setcolor(memPre, "#state", 30, 70, 90); setcolor(memPre, "#state", 30, 70, 90);
var memFree = info.memTotal - info.memRealUsed; var memFree = info.memTotal - info.memRealUsed;
@ -246,7 +261,6 @@ function getNet() {
setCookie("downNet", net.down); setCookie("downNet", net.down);
getLoad(net.load); getLoad(net.load);
// console.log(net.mem);
// setMemImg(net.mem); // setMemImg(net.mem);
setImg(); setImg();
},'json'); },'json');

@ -1511,97 +1511,99 @@ function phpmyadmin(msg) {
layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 }); layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 });
}); });
} }
//首页软件列表 //首页软件列表
// function indexsoft() { function indexsoft() {
// var loadT = layer.msg(lan.soft.get_list, { icon: 16, time: 0, shade: [0.3, '#000'] }); return;
// $.post('/plugin?action=getPluginList', 'display=1', function(rdata) { var loadT = layer.msg('正在获取列表...', { icon: 16, time: 0, shade: [0.3, '#000'] });
// layer.close(loadT); $.post('/plugins/get_plugin_list', 'display=1', function(rdata) {
// var con = ''; layer.close(loadT);
// for (var i = 0; i < rdata['data'].length - 1; i++) { var con = '';
// var len = rdata.data[i].versions.length; for (var i = 0; i < rdata['data'].length - 1; i++) {
// var version_info = ''; var len = rdata.data[i].versions.length;
// for (var j = 0; j < len; j++) { var version_info = '';
// if (rdata.data[i].versions[j].status) continue; for (var j = 0; j < len; j++) {
// version_info += rdata.data[i].versions[j].version + '|'; if (rdata.data[i].versions[j].status) continue;
// } version_info += rdata.data[i].versions[j].version + '|';
// if (version_info != '') { }
// version_info = version_info.substring(0, version_info.length - 1); if (version_info != '') {
// } version_info = version_info.substring(0, version_info.length - 1);
// if (rdata.data[i].display) { }
// var isDisplay = false; if (rdata.data[i].display) {
// if (rdata.data[i].name != 'php') { var isDisplay = false;
// for (var n = 0; n < len; n++) { if (rdata.data[i].name != 'php') {
// if (rdata.data[i].versions[n].status == true) { for (var n = 0; n < len; n++) {
// isDisplay = true; if (rdata.data[i].versions[n].status == true) {
// var version = rdata.data[i].versions[n].version; isDisplay = true;
// if (rdata.data[i].versions[n].run == true) { var version = rdata.data[i].versions[n].version;
// state = '<span style="color:#20a53a" class="glyphicon glyphicon-play"></span>' if (rdata.data[i].versions[n].run == true) {
// } else { state = '<span style="color:#20a53a" class="glyphicon glyphicon-play"></span>'
// state = '<span style="color:red" class="glyphicon glyphicon-pause"></span>' } else {
// } state = '<span style="color:red" class="glyphicon glyphicon-pause"></span>'
// } }
// } }
// if (isDisplay) { }
// var clickName = 'SoftMan'; if (isDisplay) {
// if (rdata.data[i].tip == 'lib') { var clickName = 'SoftMan';
// clickName = 'PluginMan'; if (rdata.data[i].tip == 'lib') {
// version_info = rdata.data[i].title; clickName = 'PluginMan';
// } version_info = rdata.data[i].title;
}
// con += '<div class="col-sm-3 col-md-3 col-lg-3" data-id="' + rdata.data[i].pid + '">\
// <span class="spanmove"></span>\ con += '<div class="col-sm-3 col-md-3 col-lg-3" data-id="' + rdata.data[i].pid + '">\
// <div onclick="' + clickName + '(\'' + rdata.data[i].name + '\',\'' + version_info + '\')">\ <span class="spanmove"></span>\
// <div class="image"><img src="/static/img/soft_ico/ico-' + rdata.data[i].name + '.png"></div>\ <div onclick="' + clickName + '(\'' + rdata.data[i].name + '\',\'' + version_info + '\')">\
// <div class="sname">' + rdata.data[i].title + ' ' + version + state + '</div>\ <div class="image"><img src="/static/img/soft_ico/ico-' + rdata.data[i].name + '.png"></div>\
// </div>\ <div class="sname">' + rdata.data[i].title + ' ' + version + state + '</div>\
// </div>' </div>\
// } </div>'
// } else { }
// for (var n = 0; n < len; n++) { } else {
// if (rdata.data[i].versions[n].status == true) { for (var n = 0; n < len; n++) {
// var version = rdata.data[i].versions[n].version; if (rdata.data[i].versions[n].status == true) {
// if (rdata.data[i].versions[n].run == true) { var version = rdata.data[i].versions[n].version;
// state = '<span style="color:#20a53a" class="glyphicon glyphicon-play"></span>' if (rdata.data[i].versions[n].run == true) {
// } else { state = '<span style="color:#20a53a" class="glyphicon glyphicon-play"></span>'
// state = '<span style="color:red" class="glyphicon glyphicon-pause"></span>' } else {
// } state = '<span style="color:red" class="glyphicon glyphicon-pause"></span>'
// } }
// if (rdata.data[i].versions[n].display == true) { }
// con += '<div class="col-sm-3 col-md-3 col-lg-3" data-id="' + rdata.data[i].pid + '">\ if (rdata.data[i].versions[n].display == true) {
// <span class="spanmove"></span>\ con += '<div class="col-sm-3 col-md-3 col-lg-3" data-id="' + rdata.data[i].pid + '">\
// <div onclick="phpSoftMain(\'' + rdata.data[i].versions[n].version + '\',' + n + ')">\ <span class="spanmove"></span>\
// <div class="image"><img src="/static/img/soft_ico/ico-' + rdata.data[i].name + '.png"></div>\ <div onclick="phpSoftMain(\'' + rdata.data[i].versions[n].version + '\',' + n + ')">\
// <div class="sname">' + rdata.data[i].title + ' ' + rdata.data[i].versions[n].version + state + '</div>\ <div class="image"><img src="/static/img/soft_ico/ico-' + rdata.data[i].name + '.png"></div>\
// </div>\ <div class="sname">' + rdata.data[i].title + ' ' + rdata.data[i].versions[n].version + state + '</div>\
// </div>' </div>\
// } </div>'
// } }
// } }
// } }
// } }
// $("#indexsoft").html(con); }
// //软件位置移动 $("#indexsoft").html(con);
// var softboxlen = $("#indexsoft > div").length; //软件位置移动
// var softboxsum = 12; var softboxlen = $("#indexsoft > div").length;
// var softboxcon = ''; var softboxsum = 12;
// var softboxn = softboxlen; var softboxcon = '';
// if (softboxlen <= softboxsum) { var softboxn = softboxlen;
// for (var i = 0; i < softboxsum - softboxlen; i++) { if (softboxlen <= softboxsum) {
// softboxn += 1000; for (var i = 0; i < softboxsum - softboxlen; i++) {
// softboxcon += '<div class="col-sm-3 col-md-3 col-lg-3 no-bg" data-id="' + softboxn + '"></div>' softboxn += 1000;
// } softboxcon += '<div class="col-sm-3 col-md-3 col-lg-3 no-bg" data-id="' + softboxn + '"></div>'
// $("#indexsoft").append(softboxcon); }
// } $("#indexsoft").append(softboxcon);
// $("#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() {
// var data = $("#indexsoft > div").map(function() { return $(this).attr("data-id"); }).get(); function saveOrder() {
// var ssort = data.join("|"); var data = $("#indexsoft > div").map(function() { return $(this).attr("data-id"); }).get();
// $("input[name=list1SortOrder]").val(ssort); var ssort = data.join("|");
// $.post("/plugin?action=savePluginSort", 'ssort=' + ssort, function(rdata) {}); $("input[name=list1SortOrder]").val(ssort);
// }; $.post("/plugin?action=savePluginSort", 'ssort=' + ssort, function(rdata) {});
// }); };
// } });
}
//插件设置菜单 //插件设置菜单
function PluginMan(name, title) { function PluginMan(name, title) {

@ -119,7 +119,7 @@ def startTask():
"status=?", ('-1',)).setField('status', '0') "status=?", ('-1',)).setField('status', '0')
taskArr = sql.table('tasks').where("status=?", ('0',)).field( taskArr = sql.table('tasks').where("status=?", ('0',)).field(
'id,type,execstr').order("id asc").select() 'id,type,execstr').order("id asc").select()
print sql # print sql
for value in taskArr: for value in taskArr:
start = int(time.time()) start = int(time.time())
if not sql.table('tasks').where("id=?", (value['id'],)).count(): if not sql.table('tasks').where("id=?", (value['id'],)).count():

Loading…
Cancel
Save