$(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 } } //转换单们到MB function toSizeM(byteLen) { var a = parseInt(byteLen) / 1024 / 1024; return a || 0; } 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; } 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)) } function GetBakPost(b) { $(".baktext").hide().prev().show(); var c = $(".baktext").attr("data-id"); var a = $(".baktext").val(); if(a == "") { a = lan.bt.empty; } setWebPs(b, c, a); $("a[data-id='" + c + "']").html(a); $(".baktext").remove() } $(".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: lan.bt.dir, closeBtn: 2, shift: 5, shadeClose: false, content: "
"+lan.bt.path+":
"+lan.bt.comp+"
    "+lan.bt.filename+""+lan.bt.etime+""+lan.bt.access+""+lan.bt.own+"
    " }); 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?action=CreateDir", d, function(e) { if(e.status == true) { layer.msg(e.msg, { icon: 1 }) } else { layer.msg(e.msg, { icon: 2 }) } getDiskList(b) }) }); $("#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?action=DeleteDir", b, function(d) { if(d.status == true) { layer.msg(d.msg, { icon: 1 }) } else { layer.msg(d.msg, { icon: 2 }) } getDiskList(a) }) } 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), "/"); $("#" + 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) + ";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() { aotuHeight() }); $(window).resize(function() { aotuHeight() }); function showHidePwd() { var a = "glyphicon-eye-open", b = "glyphicon-eye-close"; $(".pw-ico").click(function() { var g = $(this).attr("class"), e = $(this).prev(); if(g.indexOf(a) > 0) { var h = e.attr("data-pw"); $(this).removeClass(a).addClass(b); e.text(h) } else { $(this).removeClass(b).addClass(a); e.text("**********") } var d = $(this).next().position().left; var f = $(this).next().position().top; var c = $(this).next().width(); $(this).next().next().css({ left: d + c + "px", top: f + "px" }) }) } 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", "tojs=remind&table=tasks&result=2,4,6,8&limit=8&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 + ""+lan.bt.task_scan+" | "+lan.public.close+"
    " + c + "
  • " } else { b = "
  • " + h.task[g].name + ""+lan.bt.task_install+" | "+lan.public.close+"
    " + 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 + ""+lan.bt.task_sleep+" | '+lan.public.del+'
  • ' } } $(".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 + ""+lan.bt.task_install+" | "+lan.public.close+"
    • " } else { b = "
    • " + g.data[d].name + "0.0M/12.5M0%"+lan.bt.task_downloading+" | "+lan.public.close+"
    • " } task_count++; break; case "0": c += "
    • " + g.data[d].name + ""+lan.bt.task_sleep+" | "+lan.public.del+"
    • "; task_count++; break; } } $(".task_count").text(task_count); $(".cmdlist").html(b + c); getReloads(); return f },'json') } //检查登陆状态 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')); } }); } /*** 其中功能,针对插件通过库使用 start ***/ function pluginService(_name, version){ var data = {name:_name, func:'status'} if ( typeof(version) != 'undefined' ){ data['version'] = version; } else { version = ''; } // console.log(version); var loadT = layer.msg('正在获取...', { icon: 16, time: 0, shade: 0.3 }); $.post('/plugins/run', data, function(data) { layer.close(loadT); if(!data.status){ layer.msg(data.msg,{icon:0,time:3000,shade: [0.3, '#000']}); return; } if (data.data == 'start'){ pluginSetService(_name, true, version); } else { pluginSetService(_name, false, version); } },'json'); } function pluginSetService(_name ,status, version){ var serviceCon ='

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

      \ \ \ \
      '; $(".soft-man-con").html(serviceCon); } function pluginOpService(a, b, v) { 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() { var e = layer.msg(msgTpl('正在{1}{2}{3}服务,请稍候...',[d,a,v]), {icon: 16,time: 0}); $.post("/plugins/run", 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' ) { pluginSetService(a, true, v); } else if ( b == 'stop' ){ pluginSetService(a, false, v); } } if( g.status && g.data != 'ok' ) { layer.msg(g.data, {icon: 2,time: 3000,shade: 0.3,shadeClose: true}); } },'json').error(function() { layer.close(e); layer.msg('操作异常!', {icon: 1}); }); }) } //配置修改 --- start function pluginConfig(_name, version, func){ if ( typeof(version) == 'undefined' ){ version = ''; } var func_name = 'conf'; if ( typeof(func) != 'undefined' ){ func_name = func; } var con = '

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

      \ \ \
        \
      • 此处为'+ _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 } $.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}); },'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']}); 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'); } //配置保存 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){ var loadT = layer.msg('正在获取...', { icon: 16, time: 0, shade: 0.3 }); $.post('/plugins/run', {name:_name, func:'initd_status'}, 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, true); } else { pluginSetInitD(_name, false); } },'json'); } function pluginSetInitD(_name, status){ var serviceCon ='

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

      \ \
      '; $(".soft-man-con").html(serviceCon); } function pluginOpInitD(a, b) { var c = "name=" + a + "&func=" + b; var d = ""; switch(b) { case "initd_install":d = '加载';break; case "initd_uninstall":d = '卸载';break; } layer.confirm( msgTpl('您真的要{1}{2}服务吗?', [d,a]), {icon:3,closeBtn: 2}, function() { var e = layer.msg(msgTpl('正在{1}{2}服务,请稍候...',[d,a]), {icon: 16,time: 0}); $.post("/plugins/run", c, function(g) { layer.close(e); var f = g.data == 'ok' ? msgTpl('{1}服务已{2}',[a,d]) : msgTpl('{1}服务{2}失败!',[a,d]); layer.msg(f, {icon: g.data == 'ok' ? 1 : 2}); if ( b == 'initd_install' && g.data == 'ok' ) { pluginSetInitD(a, true); }else{ pluginSetInitD(a, 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'); } /*** 其中功能,针对插件通过库使用 end ***/