function httpPost(method, args, callback){ var loadT = layer.msg('正在获取...', { icon: 16, time: 0, shade: 0.3 }); $.post('/plugins/run', {name:'apache', func:method, args:JSON.stringify(args)}, function(data) { layer.close(loadT); if (!data.status){ layer.msg(data.msg,{icon:0,time:2000,shade: [0.3, '#000']}); return; } if(typeof(callback) == 'function'){ callback(data); } },'json'); } function httpPluginService(_name, version){ var data = {name:_name, func:'status'} if ( typeof(version) != 'undefined' ){ data['version'] = version; } else { version = ''; } httpPost('status', data, function(data){ if (data.data == 'start'){ orPluginSetService(_name, true, version); } else { orPluginSetService(_name, false, version); } }); } function orPluginSetService(_name ,status, version){ var serviceCon ='

当前状态:'+(status ? '开启' : '关闭' )+ '

\ \ \ \
'; $(".soft-man-con").html(serviceCon); } function orPluginOpService(a, b, v,request_callback) { var c = "name=" + a + "&func=" + b; if(v != ''){ c = c + '&version='+v; } var d = ""; switch(b) { case "stop":d = '停止';break; case "start":d = '启动';break; case "restart":d = '重启';break; case "reload":d = '重载';break; } layer.confirm( msgTpl('您真的要{1}{2}{3}服务吗?', [d,a,v]), {icon:3,closeBtn: 2}, function() { httpPost('get_os',{},function(data){ var rdata = $.parseJSON(data.data); if (!rdata['auth']){ layer.prompt({title: '检查到权限不足,需要输入密码!', formType: 1},function(pwd, index){ layer.close(index); var data = {'pwd':pwd}; c += '&args='+JSON.stringify(data); orPluginOpServiceOp(a,b,c,d,a,v,request_callback); }); } else { orPluginOpServiceOp(a,b,c,d,a,v,request_callback); } }); }) } function orPluginOpServiceOp(a,b,c,d,a,v,request_callback){ var request_path = "/plugins/run"; if (request_callback == 'yes'){ request_path = "/plugins/callback"; } var e = layer.msg(msgTpl('正在{1}{2}{3}服务,请稍候...',[d,a,v]), {icon: 16,time: 0}); $.post(request_path, c, function(g) { layer.close(e); var f = g.data == 'ok' ? msgTpl('{1}{2}服务已{3}',[a,v,d]) : msgTpl('{1}{2}服务{3}失败!',[a,v,d]); layer.msg(f, {icon: g.data == 'ok' ? 1 : 2}); if( b != "reload" && g.data == 'ok' ) { if ( b == 'start' ) { orPluginSetService(a, true, v); } else if ( b == 'stop' ){ orPluginSetService(a, false, v); } } if( g.status && g.data != 'ok' ) { layer.msg(g.data, {icon: 2,time: 10000,shade: 0.3}); } },'json').error(function() { layer.close(e); layer.msg('操作异常!', {icon: 2}); }); } // 定时器变量 var httpdStatusTimer = null; //查看Apache负载状态 function getHttpdStatus() { $.post('/plugins/run', {name:'apache', func:'run_info'}, function(data) { try { var rdata = $.parseJSON(data.data); console.log(rdata); if ('status' in rdata && !rdata.status){ showMsg(rdata.msg, function(){}, null,3000); return; } var con = "
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
服务器版本(ServerVersion)" + (rdata.ServerVersion || '-') + "
服务器MPM(ServerMPM)" + (rdata.ServerMPM || '-') + "
服务器构建时间(Server Built)" + (rdata['Server Built'] || '-') + "
当前时间(CurrentTime)" + (rdata.CurrentTime || '-') + "
重启时间(RestartTime)" + (rdata.RestartTime || '-') + "
服务器运行时间(ServerUptime)" + (rdata.ServerUptime || '-') + "
服务器运行秒数(ServerUptimeSeconds)" + (rdata.ServerUptimeSeconds || '-') + "
1分钟负载(Load1)" + (rdata.Load1 || '-') + "
5分钟负载(Load5)" + (rdata.Load5 || '-') + "
15分钟负载(Load15)" + (rdata.Load15 || '-') + "
总访问次数(Total Accesses)" + (rdata['Total Accesses'] || '-') + "
总流量(Total kBytes)" + (rdata['Total kBytes'] || '-') + " KB
总请求时间(Total Duration)" + (rdata['Total Duration'] || '-') + "
CPU用户时间(CPUUser)" + (rdata.CPUUser || '-') + "
CPU系统时间(CPUSystem)" + (rdata.CPUSystem || '-') + "
CPU负载(CPULoad)" + (rdata.CPULoad || '-') + "
每秒请求数(ReqPerSec)" + (rdata.ReqPerSec || '-') + "
每秒流量(BytesPerSec)" + (rdata.BytesPerSec || '-') + "
每请求流量(BytesPerReq)" + (rdata.BytesPerReq || '-') + "
每请求时间(DurationPerReq)" + (rdata.DurationPerReq || '-') + "
活动工作进程(BusyWorkers)" + (rdata.BusyWorkers || '-') + "
优雅关闭进程(GracefulWorkers)" + (rdata.GracefulWorkers || '-') + "
空闲工作进程(IdleWorkers)" + (rdata.IdleWorkers || '-') + "
进程数(Processes)" + (rdata.Processes || '-') + "
总连接数(ConnsTotal)" + (rdata.ConnsTotal || '-') + "
"; $(".soft-man-con").html(con); }catch(err){ showMsg(data.data, function(){}, null,3000); } },'json'); } // 启动自动刷新 function startHttpdStatusAutoRefresh() { // 先清除现有的定时器 if (httpdStatusTimer) { clearInterval(httpdStatusTimer); } // 立即执行一次 getHttpdStatus(); // 设置定时器,每5秒刷新一次 httpdStatusTimer = setInterval(getHttpdStatus, 5000); } // 停止自动刷新 function stopHttpdStatusAutoRefresh() { if (httpdStatusTimer) { clearInterval(httpdStatusTimer); httpdStatusTimer = null; } } function setOpCfg(){ httpPost('get_cfg', {}, function(data){ var rdata = $.parseJSON(data.data); var rdata = rdata.data; // console.log(rdata); var mlist = ''; for (var i = 0; i < rdata.length; i++) { var w = '70' var ibody = ''; switch (rdata[i].type) { case 0: var selected_1 = (rdata[i].value == 1) ? 'selected' : ''; var selected_0 = (rdata[i].value == 0) ? 'selected' : ''; ibody = ''; break; case 1: var selected_1 = (rdata[i].value == 'on') ? 'selected' : ''; var selected_0 = (rdata[i].value == 'off') ? 'selected' : ''; ibody = ''; break; } mlist += '

' + rdata[i].name + '' + ibody + ""+rdata[i].unit+"" +', ' + rdata[i].ps + '

'; } var con = '
\ ' + mlist + '\
\ \ \
\
' $(".soft-man-con").html(con); }); } function submitConf() { var data = {}; // 收集所有配置参数 $("input[name]").each(function() { data[$(this).attr('name')] = $(this).val(); }); $("select[name]").each(function() { data[$(this).attr('name')] = $(this).val() || 'on'; }); // console.log(data); httpPost('set_cfg', data, function(rdata){ var rdata = $.parseJSON(rdata.data); // console.log(rdata); layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 }); }); } function otherFunc(){ var con = '

\ \ \

'; $(".soft-man-con").html(con); } function cronAddCheck(){ httpPost('cron_add_check', {}, function(data){ var rdata = $.parseJSON(data.data); layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 }); }); } function cronDelCheck(){ httpPost('cron_del_check', {}, function(data){ var rdata = $.parseJSON(data.data); layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 }); }); }