//重置插件弹出框宽度 function resetPluginWinWidth(width){ $("div[id^='layui-layer'][class*='layui-layer-page']").width(width); } //软件管理窗口 function softMain(name, version) { var loadT = layer.msg("正在处理,请稍后...", { icon: 16, time: 0, shade: [0.3, '#000'] }); $.get('/plugins/setting?name='+name, function(rdata) { layer.close(loadT); layer.open({ type: 1, area: '640px', title: name + '-' + version + "管理", closeBtn: 2, shift: 0, content: rdata }); $(".bt-w-menu p").click(function() { $(this).addClass("bgw").siblings().removeClass("bgw"); }); //version to $(".plugin_version").attr('version',version).hide(); }); } //取软件列表 function getSList(isdisplay) { if (isdisplay !== true) { var loadT = layer.msg('正在获取列表...', { icon: 16, time: 0, shade: [0.3, '#000'] }) } if (!isdisplay || isdisplay === true) isdisplay = getCookie('p' + getCookie('softType')); if (isdisplay == true || isdisplay == 'true') isdisplay = 1; var search = $("#SearchValue").val(); if (search != '') { search = '&search=' + search; } var type = ''; var istype = getCookie('softType'); if (istype == 'undefined' || istype == 'null' || !istype) { istype = '0'; } type = '&type=' + istype; var page = ''; if (isdisplay) { page = '&p=' + isdisplay; setCookie('p' + getCookie('softType'), isdisplay); } var condition = (search + type + page).slice(1); $.get('/plugins/list?' + condition, '', function(rdata) { layer.close(loadT); var tBody = ''; var sBody = ''; var pBody = ''; for (var i = 0; i < rdata.type.length; i++) { var c = ''; if (istype == rdata.type[i].type) { c = 'class="on"'; } tBody += '' + rdata.type[i].title + ''; } $(".softtype").html(tBody); $("#softPage").html(rdata.list); $("#softPage .Pcount").css({ "position": "absolute", "left": "0" }) $(".task").text(rdata.data[rdata.length - 1]); for (var i = 0; i < rdata.data.length; i++) { var plugin = rdata.data[i]; var len = plugin.versions.length; var version_info = ''; var version = ''; var softPath = ''; var titleClick = ''; var state = ''; var indexshow = ''; var checked = ''; checked = plugin.display ? 'checked' : ''; if (typeof plugin.versions == "string"){ version_info += plugin.versions + '|'; } else { for (var j = 0; j < len; j++) { version_info += plugin.versions[j] + '|'; } } if (version_info != '') { version_info = version_info.substring(0, version_info.length - 1); } var handle = '安装'; if (plugin.setup == true) { var mupdate = '';//(plugin.versions[n] == plugin.updates[n]) '' : '更新 | '; // if (plugin.versions[n] == '') mupdate = ''; handle = mupdate + '设置 | 卸载'; titleClick = 'onclick="softMain(\'' + plugin.name + '\',\'' + version_info + '\')" style="cursor:pointer"'; softPath = ''; if (plugin.coexist){ indexshow = '
'; } else { indexshow = '
'; } if (plugin.status == true) { state = '' } else { state = '' } } if (plugin.task == '-2') { handle = '正在卸载...'; } else if (plugin.task == '-1') { handle = '正在安装...'; } else if (plugin.task == '0') { handle = '等待中...'; } var plugin_title = plugin.title; if (plugin.setup && !plugin.coexist){ plugin_title = plugin.title + ' ' + plugin.setup_version; } sBody += '' + '' + plugin_title + '' + '' + plugin.ps + '' + '' + softPath + '' + '' + state + '' + '' + indexshow + '' + '' + handle + '' + ''; // sBody += '' + // '' + plugin_title + '' + // '' + plugin.ps + '' + // '' + softPath + '' + // '' + state + '' + // '' + indexshow + '' + // '' + handle + '' + // ''; } sBody += pBody; $("#softList").html(sBody); $(".menu-sub span").click(function() { setCookie('softType', $(this).attr('typeid')); $(this).addClass("on").siblings().removeClass("on"); getSList(); }); loadImage(); },'json'); } function addVersion(name, ver, type, obj, title) { var option = ''; var titlename = name; if (ver.indexOf('|') >= 0){ var veropt = ver.split("|"); var SelectVersion = ''; for (var i = 0; i < veropt.length; i++) { SelectVersion += ''; } option = ""; } else { option = '' + name + ' ' + ver + ''; } layer.open({ type: 1, title: titlename + "软件安装", area: '350px', closeBtn: 2, shadeClose: true, content: "
\
安装版本:" + option + "
\
\ \ \
\
" }); $('.fangshi input').click(function() { $(this).attr('checked', 'checked').parent().siblings().find("input").removeAttr('checked'); }); $("#bi-btn").click(function() { var info = $("#SelectVersion").val().toLowerCase(); if (info == ''){ info = $("#SelectVersion").text().toLowerCase(); } var name = info.split(" ")[0]; var version = info.split(" ")[1]; var type = $('.fangshi input').prop("checked") ? '1' : '0'; var data = "name=" + name + "&version=" + version + "&type=" + type; var loadT = layer.msg('正在添加到安装器...', { icon: 16, time: 0, shade: [0.3, '#000'] }); $.post("/plugins/install", data, function(rdata) { layer.closeAll(); layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 }); getSList(); },'json'); }); installTips(); fly("bi-btn"); } //卸载软件 function uninstallVersion(name, version) { layer.confirm(msgTpl('您真的要卸载[{1}-{2}]吗?', [name, version]), { icon: 3, closeBtn: 2 }, function() { var data = 'name=' + name + '&version=' + version; var loadT = layer.msg('正在处理,请稍候...', { icon: 16, time: 0, shade: [0.3, '#000'] }); $.post('/plugins/uninstall', data, function(rdata) { layer.close(loadT) getSList(); layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 }); },'json'); }); } //首页显示 function toIndexDisplay(name, version, coexist) { var status = $("#index_" + name).prop("checked") ? "0" : "1"; if (coexist == "true") { var verinfo = version.replace(/\./, ""); status = $("#index_" + name + verinfo).prop("checked") ? "0" : "1"; } var data = "name=" + name + "&status=" + status + "&version=" + version; $.post("/plugins/set_index", data, function(rdata) { if (rdata.status) { layer.msg(rdata.msg, { icon: 1 }) } },'json'); } function indexListHtml(callback){ var loadT = layer.msg('正在获取列表...', { icon: 16, time: 0, shade: [0.3, '#000'] }); $.get('/plugins/index_list', function(rdata) { layer.close(loadT); $("#indexsoft").html(''); var con = ''; for (var i = 0; i < rdata.length; i++) { var plugin = rdata[i]; var len = plugin.versions.length; var version_info = ''; if (typeof plugin.versions == "string"){ version_info += plugin.versions + '|'; } else { for (var j = 0; j < len; j++) { version_info += plugin.versions[j] + '|'; } } if (version_info != '') { version_info = version_info.substring(0, version_info.length - 1); } if (plugin.status == true) { state = '' } else { state = '' } var name = plugin.title + ' ' + plugin.setup_version + ' '; var data_id = plugin.name + '-' + plugin.setup_version; if (plugin.coexist){ name = plugin.title + ' '; data_id = plugin.name + '-' + plugin.versions; } // con += '
\ // \ //
\ //
\ //
' + name + state + '
\ //
\ //
'; con += '
\ \
\
\
' + name + state + '
\
\
'; // loadImage(); } $("#indexsoft").html(con); //软件位置移动 var softboxlen = $("#indexsoft > div").length; var softboxsum = 12; var softboxcon = ''; var softboxn = softboxlen; if (softboxlen <= softboxsum) { for (var i = 0; i < softboxsum - softboxlen; i++) { // softboxn += 1000; softboxcon += '
'; } $("#indexsoft").append(softboxcon); } if (typeof callback=='function'){ callback(); } },'json'); } //首页软件列表 function indexSoft() { indexListHtml(function(){ $("#indexsoft").dragsort({ dragSelector: ".spanmove", dragBetween: true, dragEnd: saveOrder, placeHolderTemplate: "
" }); }); function saveOrder() { var data = $("#indexsoft > div").map(function() { return $(this).attr("data-id"); }).get(); tmp = []; for(i in data){ // console.log(data[i]); if (data[i] != ''){ tmp.push($.trim(data[i])); } } var ssort = tmp.join("|"); $("input[name=list1SortOrder]").val(ssort); $.post("/plugins/index_sort", 'ssort=' + ssort, function(rdata) { if (!rdata.status){ showMsg('设置失败:'+ rdata.msg, function(){ indexListHtml(); }, { icon: 16, time: 0, shade: [0.3, '#000'] }); } },'json'); }; } function importPluginOpen(){ $("#update_zip").on("change", function () { var files = $("#update_zip")[0].files; if (files.length == 0) { return; } importPlugin(files[0]); $("#update_zip").val('') }); $("#update_zip").click(); } function importPlugin(file){ var formData = new FormData(); formData.append("plugin_zip", file); $.ajax({ url: "/plugins/update_zip", type: "POST", data: formData, processData: false, dataType:'json', contentType: false, success: function (data) { if (data.status === false) { layer.msg(data.msg, { icon: 2 }); return; } var loadT = layer.open({ type: 1, area: "500px", title: "安装第三方插件包", closeBtn: 2, shift: 5, shadeClose: false, content: '\
\
\

名称:'+ data.title + '

\

版本:' + data.versions +'

\

描述:' + data.ps + '

\

大小:' + toSize(data.size) + '

\

作者:' + data.author + '

\

来源:' + data.home + '

\
\ \
\
' }); },error: function (responseStr) { layer.msg('上传失败2!:' + responseStr, { icon: 2 }); } }); } function importPluginInstall(plugin_name, tmp_path) { layer.msg('正在安装,这可能需要几分钟时间...', { icon: 16, time: 0, shade: [0.3, '#000'] }); $.post('/plugins/input_zip', { plugin_name: plugin_name, tmp_path: tmp_path }, function (rdata) { layer.closeAll() if (rdata.status) { getSList(true); } setTimeout(function () { layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 }) }, 1000); },'json'); } $(function() { if (window.document.location.pathname == '/soft/') { setInterval(function() { getSList(); }, 8000); } });