$(document).ready(function() { $(".sub-menu a.sub-menu-a").click(function() { $(this).next(".sub").slideToggle("slow").siblings(".sub:visible").slideUp("slow"); }); }); function toSize(a) { var d = [" B", " KB", " MB", " GB", " TB", " PB"]; var e = 1024; for(var b = 0; b < d.length; b++) { if(a < e) { return(b == 0 ? a : a.toFixed(2)) + d[b] } a /= e } } //表格头固定 function tableFixed(name) { var tableName = document.querySelector('#' + name); tableName.addEventListener('scroll', scrollHandle); } function escapeHTML(a){ a = "" + a; return a.replace(/&/g, "&").replace(//g, ">").replace(/"/g, '"'). replace(/'/g,"‘").replace(/\(/g,"(").replace(/\</g,"<"). replace(/\>/g,">").replace(/`/g,"`").replace(/=/g,"="); } function scrollHandle(e) { var scrollTop = this.scrollTop; //this.querySelector('thead').style.transform = 'translateY(' + scrollTop + 'px)'; $(this).find("thead").css({ "transform": "translateY(" + scrollTop + "px)", "position": "relative", "z-index": "1" }); } //转换单们到MB function toSizeM(byteLen) { var a = parseInt(byteLen) / 1024 / 1024; return a || 0; } //字节单位转换MB function toSizeG(bytes){ var c = 1024 * 1024; var b = 0; if(bytes > 0){ var b = (bytes/c).toFixed(2); } return b; } function randomStrPwd(b) { b = b || 32; var c = "AaBbCcDdEeFfGHhiJjKkLMmNnPpRSrTsWtXwYxZyz2345678"; var a = c.length; var d = ""; for(i = 0; i < b; i++) { d += c.charAt(Math.floor(Math.random() * a)) } return d } function getRandomString(len) { len = len || 32; var chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'; // 默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1 var maxPos = chars.length; var pwd = ''; for (i = 0; i < len; i++) { pwd += chars.charAt(Math.floor(Math.random() * maxPos)); } return pwd; } //验证IP地址 function isValidIP(ip) { var reg = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/ return reg.test(ip); } function isContains(str, substr) { return str.indexOf(substr) >= 0; } function msgTpl(msg, args){ if (typeof args == 'string'){ return msg.replace('{1}', args); } else if (typeof args == 'object'){ for (var i = 0; i < args.length; i++) { rep = '{' + (i + 1) + '}'; msg = msg.replace(rep, args[i]); } } return msg; } function refresh() { window.location.reload() } function mwsPost(path, args, callback){ $.post(path, args, function(rdata){ if(typeof(callback) == 'function'){ callback(rdata); } },'json'); } function syncPost(path, args){ var retData; $.ajax({ type : 'post', url : path, data : args, async : false, dataType:'json', success : function(data){ retData = data; } }); return retData; } function repeatPwd(a) { $("#MyPassword").val(randomStrPwd(a)) } $(".menu-icon").click(function() { $(".sidebar-scroll").toggleClass("sidebar-close"); $(".main-content").toggleClass("main-content-open"); if($(".sidebar-close")) { $(".sub-menu").find(".sub").css("display", "none") } }); var Upload, percentage; Date.prototype.format = function(b) { var c = { "M+": this.getMonth() + 1, "d+": this.getDate(), "h+": this.getHours(), "m+": this.getMinutes(), "s+": this.getSeconds(), "q+": Math.floor((this.getMonth() + 3) / 3), S: this.getMilliseconds() }; if(/(y+)/.test(b)) { b = b.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)) } for(var a in c) { if(new RegExp("(" + a + ")").test(b)) { b = b.replace(RegExp.$1, RegExp.$1.length == 1 ? c[a] : ("00" + c[a]).substr(("" + c[a]).length)) } } return b }; function getLocalTime(a) { a = a.toString(); if(a.length > 10) { a = a.substring(0, 10) } return new Date(parseInt(a) * 1000).format("yyyy/MM/dd hh:mm:ss") } function changePath(d) { setCookie('SetId', d); setCookie('SetName', ''); var c = layer.open({ type: 1, area: "650px", title: '选择目录', closeBtn: 2, shift: 5, shadeClose: false, content: "
\
当前路径:
计算机
\
    \ \ \
    文件名修改时间权限所有者
    \ \ \ \
    " }); setCookie("ChangePath", c); var b = $("#" + d).val(); tmp = b.split("."); if(tmp[tmp.length - 1] == "gz") { tmp = b.split("/"); b = ""; for(var a = 0; a < tmp.length - 1; a++) { b += "/" + tmp[a] } setCookie("SetName", tmp[tmp.length - 1]) } b = b.replace(/\/\//g, "/"); getDiskList(b); activeDisk(); } function getDiskList(b) { var d = ""; var a = ""; var c = "path=" + b + "&disk=True"; $.post("/files/get_dir", c, function(h) { if(h.DISK != undefined) { for(var f = 0; f < h.DISK.length; f++) { a += "
     " + h.DISK[f].path + "
    " } $("#changecomlist").html(a) } for(var f = 0; f < h.DIR.length; f++) { var g = h.DIR[f].split(";"); var e = g[0]; if(e.length > 20) { e = e.substring(0, 20) + "..." } if(isChineseChar(e)) { if(e.length > 10) { e = e.substring(0, 10) + "..." } } d += "" + e + "" + getLocalTime(g[2]) + "" + g[3] + "" + g[4] + "X" } if(h.FILES != null && h.FILES != "") { for(var f = 0; f < h.FILES.length; f++) { var g = h.FILES[f].split(";"); var e = g[0]; if(e.length > 20) { e = e.substring(0, 20) + "..." } if(isChineseChar(e)) { if(e.length > 10) { e = e.substring(0, 10) + "..." } } d += "" + e + "" + getLocalTime(g[2]) + "" + g[3] + "" + g[4] + "" } } $(".default").hide(); $(".file-list").show(); $("#tbody").html(d); if(h.PATH.substr(h.PATH.length - 1, 1) != "/") { h.PATH += "/" } $("#PathPlace").find("span").html(h.PATH); activeDisk(); return; },'json'); } function createFolder() { var a = "\ \ \   \ "; if($("#tbody tr").length == 0) { $("#tbody").append(a) } else { $("#tbody tr:first-child").before(a) } $(".newFolderName").focus(); $("#nameOk").click(function() { var c = $("#newFolderName").val(); var b = $("#PathPlace").find("span").text(); newTxt = b.replace(new RegExp(/(\/\/)/g), "/") + c; var d = "path=" + newTxt; $.post("/files/create_dir", d, function(e) { if(e.status == true) { layer.msg(e.msg, { icon: 1 }) } else { layer.msg(e.msg, { icon: 2 }) } getDiskList(b); },'json'); }); $("#nameNOk").click(function() { $(this).parents("tr").remove() }) } function NewDelFile(c) { var a = $("#PathPlace").find("span").text(); newTxt = c.replace(new RegExp(/(\/\/)/g), "/"); var b = "path=" + newTxt + "&empty=True"; $.post("/files/delete_dir", b, function(d) { if(d.status == true) { layer.msg(d.msg, { icon: 1 }) } else { layer.msg(d.msg, { icon: 2 }) } getDiskList(a); },'json'); } function activeDisk() { var a = $("#PathPlace").find("span").text().substring(0, 1); switch(a) { case "C": $(".path-con-left dd:nth-of-type(1)").css("background", "#eee").siblings().removeAttr("style"); break; case "D": $(".path-con-left dd:nth-of-type(2)").css("background", "#eee").siblings().removeAttr("style"); break; case "E": $(".path-con-left dd:nth-of-type(3)").css("background", "#eee").siblings().removeAttr("style"); break; case "F": $(".path-con-left dd:nth-of-type(4)").css("background", "#eee").siblings().removeAttr("style"); break; case "G": $(".path-con-left dd:nth-of-type(5)").css("background", "#eee").siblings().removeAttr("style"); break; case "H": $(".path-con-left dd:nth-of-type(6)").css("background", "#eee").siblings().removeAttr("style"); break; default: $(".path-con-left dd").removeAttr("style") } } function backMyComputer() { $(".default").show(); $(".file-list").hide(); $("#PathPlace").find("span").html(""); activeDisk(); } function backFile() { var c = $("#PathPlace").find("span").text(); if(c.substr(c.length - 1, 1) == "/") { c = c.substr(0, c.length - 1) } var d = c.split("/"); var a = ""; if(d.length > 1) { var e = d.length - 1; for(var b = 0; b < e; b++) { a += d[b] + "/" } getDiskList(a.replace("//", "/")) } else { a = d[0] } if(d.length == 1) {} } function getfilePath() { var a = $("#PathPlace").find("span").text(); a = a.replace(new RegExp(/(\\)/g), "/"); a_len = a.length; if (a[a_len-1] == '/'){ a = a.substr(0,a_len-1); } $("#" + getCookie("SetId")).val(a + getCookie("SetName")); layer.close(getCookie("ChangePath")); } function setCookie(a, c) { var b = 30; var d = new Date(); d.setTime(d.getTime() + b * 24 * 60 * 60 * 1000); document.cookie = a + "=" + escape(c) + ";path=/;expires=" + d.toGMTString(); } function getCookie(b) { var a, c = new RegExp("(^| )" + b + "=([^;]*)(;|$)"); if(a = document.cookie.match(c)) { return unescape(a[2]) } else { return null } } function aotuHeight() { var a = $("body").height() - 40; $(".main-content").css("min-height", a) } function showMsg(msg, callback ,icon, time){ if (typeof time == 'undefined'){ time = 2000; } if (typeof icon == 'undefined'){ icon = {}; } var loadT = layer.msg(msg, icon); setTimeout(function() { layer.close(loadT); if (typeof callback == 'function'){ callback(); } }, time); } function openPath(a) { setCookie("open_dir_path", a); window.location.href = "/files/" } function onlineEditFile(k, f) { if(k != 0) { var l = $("#PathPlace input").val(); var h = encodeURIComponent($("#textBody").val()); var a = $("select[name=encoding]").val(); var loadT = layer.msg(lan.bt.save_file, { icon: 16, time: 0 }); $.post("/files/save_body", "data=" + h + "&path=" + encodeURIComponent(f) + "&encoding=" + a, function(m) { if(k == 1) { layer.close(loadT); } layer.msg(m.msg, { icon: m.status ? 1 : 2 }); },'json'); return } var e = layer.msg(lan.bt.read_file, { icon: 16, time: 0 }); var g = f.split("."); var b = g[g.length - 1]; var d; switch(b) { case "html": var j = { name: "htmlmixed", scriptTypes: [{ matches: /\/x-handlebars-template|\/x-mustache/i, mode: null }, { matches: /(text|application)\/(x-)?vb(a|script)/i, mode: "vbscript" }] }; d = j; break; case "htm": var j = { name: "htmlmixed", scriptTypes: [{ matches: /\/x-handlebars-template|\/x-mustache/i, mode: null }, { matches: /(text|application)\/(x-)?vb(a|script)/i, mode: "vbscript" }] }; d = j; break; case "js": d = "text/javascript"; break; case "json": d = "application/ld+json"; break; case "css": d = "text/css"; break; case "php": d = "application/x-httpd-php"; break; case "tpl": d = "application/x-httpd-php"; break; case "xml": d = "application/xml"; break; case "sql": d = "text/x-sql"; break; case "conf": d = "text/x-nginx-conf"; break; default: var j = { name: "htmlmixed", scriptTypes: [{ matches: /\/x-handlebars-template|\/x-mustache/i, mode: null }, { matches: /(text|application)\/(x-)?vb(a|script)/i, mode: "vbscript" }] }; d = j } $.post("/files/get_body", "path=" + encodeURIComponent(f), function(s) { if(s.status === false){ layer.msg(s.msg,{icon:5}); return; } layer.close(e); var u = ["utf-8", "GBK", "GB2312", "BIG5"]; var n = ""; var m = ""; var o = ""; for(var p = 0; p < u.length; p++) { m = s.encoding == u[p] ? "selected" : ""; n += '" } var r = layer.open({ type: 1, shift: 5, closeBtn: 2, area: ["90%", "90%"], title: lan.bt.edit_title+"[" + f + "]", content: '

    '+lan.bt.edit_ps+'

    '; $(".taskcon").html(lbody); var ob = document.getElementById('exec_log'); ob.scrollTop = ob.scrollHeight; }); } function remind(a){ a = a == undefined ? 1 : a; $.post("/task/list", "table=tasks&result=2,4,6,8&limit=10&p=" + a, function(g) { var e = ""; var f = false; var task_count = 0; for(var d = 0; d < g.data.length; d++) { if(g.data[d].status != '1'){ task_count++; continue; } e += '
    '+g.data[d].name+'【'+lan.bt.task_ok+'】'+ lan.bt.time + (g.data[d].end - g.data[d].start) + lan.bt.s+'
    '+g.data[d].addtime+'' } var con = '
    \ \ '+e+'\
    '+lan.bt.task_name+''+lan.bt.task_time+'
    \
    \ \
    \
    '; $(".task_count").text(task_count); $(".msg_count").text(g.data.length); $(".taskcon").html(con); $("#taskPage").html(g.page); $("#Rs-checkAll").click(function(){ if($(this).prop("checked")){ $("#remind").find("input").prop("checked",true) } else { $("#remind").find("input").prop("checked",false) } }); },'json'); } function getReloads() { var a = 0; var mm = $(".bt-w-menu .bgw").html() if(mm == undefined || mm.indexOf(lan.bt.task_list) == -1) { clearInterval(speed); a = 0; speed = null; return } if(speed) {return;} speed = setInterval(function() { var mm = $(".bt-w-menu .bgw").html() if(mm == undefined || mm.indexOf(lan.bt.task_list) == -1) { clearInterval(speed); speed = null; a = 0; return } a++; $.post('/task/get_task_speed', '', function(h) { if(h.task == undefined) { $(".cmdlist").html(lan.bt.task_not_list); return; } var b = ""; var d = ""; $("#task").text(h.task.length); $(".task_count").text(h.task.length); for(var g = 0; g < h.task.length; g++) { if(h.task[g].status == "-1") { if(h.task[g].type != "download") { var c = ""; var f = h.msg.split("\n"); for(var e = 0; e < f.length; e++) { c += f[e] + "
    " } if(h.task[g].name.indexOf("扫描") != -1) { b = "
  • " + h.task[g].name + "正在扫描 | 关闭
    " + c + "
  • " } else { b = "
  • " + h.task[g].name + "正在安装 | 关闭
    " + c + "
  • " } } else { b = "
  • " + h.task[g].name + "" + (toSize(h.msg.used) + "/" + toSize(h.msg.total)) + "" + h.msg.pre + "%"+lan.bt.task_downloading+" | "+lan.public.close+"
  • " } } else { d += "
  • " + h.task[g].name + "等待 | 删除
  • ' } } $(".cmdlist").html(b + d); $(".cmd").html(c); try{ if($(".cmd")[0].scrollHeight) $(".cmd").scrollTop($(".cmd")[0].scrollHeight); }catch(e){ return; } },'json').error(function(){}); }, 1000); } //检查选中项 function RscheckSelect(){ setTimeout(function(){ var checkList = $("#remind").find("input"); var count = 0; for(var i=0;i 0){ $(".buttongroup .btn").removeAttr("disabled"); }else{ $(".rs-del,.rs-read").attr("disabled","disabled"); } },5); } function tasklist(a){ var con='
      \ 若任务长时间未执行,请尝试在首页点【重启面板】来重置任务队列'; $(".taskcon").html(con); a = a == undefined ? 1 : a; $.post("/task/list", "tojs=getTaskList&table=tasks&limit=10&p=" + a, function(g) { var e = ""; var b = ""; var c = ""; var f = false; var task_count =0; for(var d = 0; d < g.data.length; d++) { switch(g.data[d].status) { case "-1": f = true; if(g.data[d].type != "download") { b = "
    • " + g.data[d].name + "正在安装 | 关闭
    • " } else { b = "
    • " + g.data[d].name + "0.0M/12.5M0%下载中 | 关闭
    • " } task_count++; break; case "0": c += "
    • " + g.data[d].name + "等待 | "+lan.public.del+"
    • "; task_count++; break; } } $(".task_count").text(task_count); $(".cmdlist").html(b + c); getReloads(); return f },'json'); } function activeDisk() { var a = $("#PathPlace").find("span").text().substring(0, 1); switch(a) { case "C": $(".path-con-left dd:nth-of-type(1)").css("background", "#eee").siblings().removeAttr("style"); break; case "D": $(".path-con-left dd:nth-of-type(2)").css("background", "#eee").siblings().removeAttr("style"); break; case "E": $(".path-con-left dd:nth-of-type(3)").css("background", "#eee").siblings().removeAttr("style"); break; case "F": $(".path-con-left dd:nth-of-type(4)").css("background", "#eee").siblings().removeAttr("style"); break; case "G": $(".path-con-left dd:nth-of-type(5)").css("background", "#eee").siblings().removeAttr("style"); break; case "H": $(".path-con-left dd:nth-of-type(6)").css("background", "#eee").siblings().removeAttr("style"); break; default: $(".path-con-left dd").removeAttr("style"); } } function backMyComputer() { $(".default").show(); $(".file-list").hide(); $("#PathPlace").find("span").html(""); activeDisk(); } //检查登陆状态 function check_login(){ $.post('/check_login',{},function(rdata){ if(rdata === true) return; }); } //登陆跳转 function to_login(){ layer.confirm('您的登陆状态已过期,请重新登陆!',{title:'会话已过期',icon:2,closeBtn: 1,shift: 5},function(){ location.reload(); }); } //表格头固定 function table_fixed(name){ var tableName = document.querySelector('#'+name); tableName.addEventListener('scroll',scroll_handle); } function scroll_handle(e){ var scrollTop = this.scrollTop; $(this).find("thead").css({"transform":"translateY("+scrollTop+"px)","position":"relative","z-index":"1"}); } $(function(){ setInterval(function(){ check_login(); },60000); }); function asyncLoadImage(obj, url){ if (typeof(url) == 'undefined'){ return; } function loadImage(obj,url,callback){ var img = new Image(); img.src = url; if(img.complete){ callback.call(img,obj); return; } img.onload = function(){ callback.call(img,obj); } } function showImage(obj){ obj.src = this.src; } loadImage(obj, url, showImage); } function loadImage(){ $('img').each(function(i){ // console.log($(this).attr('data-src')); if ($(this).attr('data-src') != ''){ asyncLoadImage(this, $(this).attr('data-src')); } }); } var socket, gterm; function webShell() { var termCols = 83; var termRows = 21; var sendTotal = 0; if(!socket)socket = io.connect(); var term = new Terminal({ cols: termCols, rows: termRows, screenKeys: true, useStyle: true}); term.open(); term.setOption('cursorBlink', true); term.setOption('fontSize', 14); gterm = term socket.on('server_response', function (data) { term.write(data.data); if (data.data == '\r\n登出\r\n' || data.data == '登出\r\n' || data.data == '\r\nlogout\r\n' || data.data == 'logout\r\n') { setTimeout(function () { layer.closeAll(); term.destroy(); clearInterval(interval); }, 500); } }); if (socket) { socket.emit('connect_event', ''); interval = setInterval(function () { socket.emit('connect_event', ''); }, 1000); } term.on('data', function (data) { socket.emit('webssh', data); }); var term_box = layer.open({ type: 1, title: "本地终端", area: ['685px','435px'], closeBtn: 2, shadeClose: false, content: '
      \
      \ \ \
        \
      • 此处为'+ _name + version +'主配置文件,若您不了解配置规则,请勿随意修改。
      • \
      '; $(".soft-man-con").html(con); var loadT = layer.msg('配置文件路径获取中...',{icon:16,time:0,shade: [0.3, '#000']}); $.post('/plugins/run', {name:_name, func:func_name,version:version},function (data) { layer.close(loadT); var loadT2 = layer.msg('文件内容获取中...',{icon:16,time:0,shade: [0.3, '#000']}); var fileName = data.data; $.post('/files/get_body', 'path=' + fileName, function(rdata) { layer.close(loadT2); if (!rdata.status){ layer.msg(rdata.msg,{icon:0,time:2000,shade: [0.3, '#000']}); return; } $("#textBody").empty().text(rdata.data.data); $(".CodeMirror").remove(); var editor = CodeMirror.fromTextArea(document.getElementById("textBody"), { extraKeys: { "Ctrl-Space": "autocomplete", "Ctrl-F": "findPersistent", "Ctrl-H": "replaceAll", "Ctrl-S": function() { $("#textBody").text(editor.getValue()); pluginConfigSave(fileName); } }, lineNumbers: true, matchBrackets:true, }); editor.focus(); $(".CodeMirror-scroll").css({"height":"300px","margin":0,"padding":0}); $("#onlineEditFileBtn").click(function(){ $("#textBody").text(editor.getValue()); pluginConfigSave(fileName); }); },'json'); },'json'); } //配置修改模版 --- start function pluginConfigTpl(_name, version, func, config_tpl_func, read_config_tpl_func){ if ( typeof(version) == 'undefined' ){ version = ''; } var func_name = 'conf'; if ( typeof(func) != 'undefined' ){ func_name = func; } var _config_tpl_func = 'config_tpl'; if ( typeof(config_tpl_func) != 'undefined' ){ _config_tpl_func = config_tpl_func; } var _read_config_tpl_func = 'read_config_tpl'; if ( typeof(read_config_tpl_func) != 'undefined' ){ _read_config_tpl_func = read_config_tpl_func; } var con = '

      提示:Ctrl+F 搜索关键字,Ctrl+G 查找下一个,Ctrl+S 保存,Ctrl+Shift+R 查找替换!

      \ \ \ \
        \
      • 此处为'+ _name + version +'主配置文件,若您不了解配置规则,请勿随意修改。
      • \
      '; $(".soft-man-con").html(con); function getFileName(file){ var list = file.split('/'); var f = list[list.length-1]; return f } var fileName = ''; $.post('/plugins/run',{name:_name, func:_config_tpl_func,version:version}, function(data){ var rdata = $.parseJSON(data.data); for (var i = 0; i < rdata.length; i++) { $('#config_tpl').append(''); } $('#config_tpl').change(function(){ var selected = $(this).val(); if (selected != '0'){ var loadT = layer.msg('配置模版获取中...',{icon:16,time:0,shade: [0.3, '#000']}); var _args = JSON.stringify({file:selected}); $.post('/plugins/run', {name:_name, func:_read_config_tpl_func,version:version,args:_args}, function(data){ layer.close(loadT); var rdata = $.parseJSON(data.data); if (!rdata.status){ layer.msg(rdata.msg,{icon:0,time:2000,shade: [0.3, '#000']}); return; } $("#textBody").empty().text(rdata.data); $(".CodeMirror").remove(); var editor = CodeMirror.fromTextArea(document.getElementById("textBody"), { extraKeys: { "Ctrl-Space": "autocomplete", "Ctrl-F": "findPersistent", "Ctrl-H": "replaceAll", "Ctrl-S": function() { $("#textBody").text(editor.getValue()); pluginConfigSave(fileName); } }, lineNumbers: true, matchBrackets:true, }); editor.focus(); $(".CodeMirror-scroll").css({"height":"300px","margin":0,"padding":0}); $("#onlineEditFileBtn").unbind('click'); $("#onlineEditFileBtn").click(function(){ $("#textBody").text(editor.getValue()); pluginConfigSave(fileName); }); },'json'); } }); },'json'); var loadT = layer.msg('配置文件路径获取中...',{icon:16,time:0,shade: [0.3, '#000']}); $.post('/plugins/run', {name:_name, func:func_name,version:version}, function (data) { layer.close(loadT); var loadT2 = layer.msg('文件内容获取中...',{icon:16,time:0,shade: [0.3, '#000']}); fileName = data.data; $.post('/files/get_body', 'path=' + fileName, function(rdata) { layer.close(loadT2); if (!rdata.status){ layer.msg(rdata.msg,{icon:0,time:2000,shade: [0.3, '#000']}); return; } $("#textBody").empty().text(rdata.data.data); $(".CodeMirror").remove(); var editor = CodeMirror.fromTextArea(document.getElementById("textBody"), { extraKeys: { "Ctrl-Space": "autocomplete", "Ctrl-F": "findPersistent", "Ctrl-H": "replaceAll", "Ctrl-S": function() { $("#textBody").text(editor.getValue()); pluginConfigSave(fileName); } }, lineNumbers: true, matchBrackets:true, }); editor.focus(); $(".CodeMirror-scroll").css({"height":"300px","margin":0,"padding":0}); $("#onlineEditFileBtn").click(function(){ $("#textBody").text(editor.getValue()); pluginConfigSave(fileName); }); },'json'); },'json'); } //配置保存 function pluginConfigSave(fileName) { var data = encodeURIComponent($("#textBody").val()); var encoding = 'utf-8'; var loadT = layer.msg('保存中...', {icon: 16,time: 0}); $.post('/files/save_body', 'data=' + data + '&path=' + fileName + '&encoding=' + encoding, function(rdata) { layer.close(loadT); layer.msg(rdata.msg, {icon: rdata.status ? 1 : 2}); },'json'); } function pluginInitD(_name,_version){ if (typeof _version == 'undefined'){ _version = ''; } var loadT = layer.msg('正在获取...', { icon: 16, time: 0, shade: 0.3 }); $.post('/plugins/run', {name:_name, func:'initd_status',version : _version}, function(data) { layer.close(loadT); if( !data.status ){ layer.msg(data.msg,{icon:0,time:3000,shade: [0.3, '#000']}); return; } if( data.data!='ok' && data.data!='fail' ){ layer.msg(data.data,{icon:0,time:3000,shade: [0.3, '#000']}); return; } if (data.data == 'ok'){ pluginSetInitD(_name, _version, true); } else { pluginSetInitD(_name, _version, false); } },'json'); } function pluginSetInitD(_name, _version, status){ var serviceCon ='

      当前状态:'+(status ? '已加载' : '未加载' )+ '

      \ \
      '; $(".soft-man-con").html(serviceCon); } function pluginOpInitD(a, _version, b) { var c = "name=" + a + "&func=" + b + "&version="+_version; var d = ""; switch(b) { case "initd_install":d = '加载';break; case "initd_uninstall":d = '卸载';break; } layer.confirm( msgTpl('您真的要{1}{2}{3}服务吗?', [d,a,_version]), {icon:3,closeBtn: 2}, function() { var e = layer.msg(msgTpl('正在{1}{2}{3}服务,请稍候...',[d,a,_version]), {icon: 16,time: 0}); $.post("/plugins/run", c, function(g) { layer.close(e); var f = g.data == 'ok' ? msgTpl('{1}{3}服务已{2}',[a,d,_version]) : msgTpl('{1}{3}服务{2}失败!',[a,d,_version]); layer.msg(f, {icon: g.data == 'ok' ? 1 : 2}); if ( b == 'initd_install' && g.data == 'ok' ) { pluginSetInitD(a, _version, true); }else{ pluginSetInitD(a, _version, false); } if(g.data != 'ok') { layer.msg(g.data, {icon: 2,time: 0,shade: 0.3,shadeClose: true}); } },'json').error(function() { layer.close(e); layer.msg('系统异常!', {icon: 0}); }); }) } function pluginLogs(_name, version, func, line){ if ( typeof(version) == 'undefined' ){ version = ''; } var func_name = 'error_log'; if ( typeof(func) != 'undefined' ){ func_name = func; } var file_line = 100; if ( typeof(line) != 'undefined' ){ file_line = line; } var loadT = layer.msg('日志路径获取中...',{icon:16,time:0,shade: [0.3, '#000']}); $.post('/plugins/run', {name:_name, func:func_name, version:version},function (data) { layer.close(loadT); var loadT2 = layer.msg('文件内容获取中...',{icon:16,time:0,shade: [0.3, '#000']}); var fileName = data.data; $.post('/files/get_last_body', 'path=' + fileName+'&line='+file_line, function(rdata) { layer.close(loadT2); if (!rdata.status){ layer.msg(rdata.msg,{icon:0,time:2000,shade: [0.3, '#000']}); return; } if(rdata.data == '') { rdata.data = '当前没有日志!'; } var ebody = '
      \ \
      '; $(".soft-man-con").html(ebody); var ob = document.getElementById('info_log'); ob.scrollTop = ob.scrollHeight; },'json'); },'json'); } function pluginRollingLogs(_name, version, func, _args, line){ if ( typeof(version) == 'undefined' ){ version = ''; } var func_name = 'error_log'; if ( typeof(func) != 'undefined' ){ func_name = func; } var file_line = 100; if ( typeof(line) != 'undefined' ){ file_line = line; } var reqTimer = null; layer.open({ type: 1, title: _name + '日志', area: '640px', end: function(){ // console.log('end!!!'); if (reqTimer){ clearInterval(reqTimer); } }, content:'
      \ \
      ' }); $.post('/plugins/run', {name:_name, func:func_name, version:version,args:_args},function (data) { var fileName = data.data; reqTimer = setInterval(function(){ $.post('/files/get_last_body', 'path=' + fileName+'&line='+file_line, function(rdata) { if (!rdata.status){ return; } if(rdata.data == '') { rdata.data = '当前没有日志!'; } var ebody = ''; $("#plugins_rolling_logs").html(ebody); var ob = document.getElementById('roll_info_log'); ob.scrollTop = ob.scrollHeight; },'json'); },1000); },'json'); } /*** 其中功能,针对插件通过库使用 end ***/ $(function() { aotuHeight(); }); $(window).resize(function() { aotuHeight(); });