function bkfPost(method,args,callback){ var _args = null; if (typeof(args) == 'string'){ _args = JSON.stringify(toArrayObject(args)); } else { _args = JSON.stringify(args); } var loadT = layer.msg('正在获取...', { icon: 16, time: 0, shade: 0.3 }); $.post('/plugins/run', {name:'backup_ftp', func:method, args:_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'); } // 自定义部分 var i = null; //设置API function upyunApi(){ bkfPost('conf', {}, function(rdata){ var rdata = $.parseJSON(rdata.data); var token = rdata.data; var check_status = token.use_sftp; var sftp_checked = check_status === "true" ? " checked=\"checked\"" : ""; if (typeof(token.ftp_host) == 'undefined'){ token.ftp_host = ''; } if (typeof(token.ftp_user) == 'undefined'){ token.ftp_user = ''; } if (typeof(token.ftp_pass) == 'undefined'){ token.ftp_pass = ''; } if (typeof(token.backup_path) == 'undefined'){ token.backup_path = ''; } var apicon = '
\

\ 使用SFTP:\ 是否使用SFTP进行数据传输 \

\

\ Host:\ *服务器地址,FTP默认端口21, SFTP默认端口22\

\

\ 用户名:\ *指定用户名\

\

\ 密码:\ *登录密码\

\

\ 存储位置:\ *相对于根目录的路径,默认是/backup\

\
'; layer.open({ type: 1, area: "600px", title: "FTP/SFTP帐户设置", closeBtn: 1, shift: 5, shadeClose: false, btn: ['确定','取消'], content:apicon, yes:function(index,layero){ var data = { use_sftp:$("input[name='use_sftp']").prop('checked'), ftp_user:$("input[name='ftp_username']").val(), ftp_pass:$("input[name='ftp_password']").val(), ftp_host:$("input[name='upyun_service']").val(), backup_path:$("input[name='backup_path']").val() } bkfPost('set_config', data, function(rdata){ var rdata = $.parseJSON(rdata.data); if (rdata.status){ showMsg(rdata.msg,function(){ layer.close(index); osList("/"); },{icon:1},2000); } else{ layer.msg(rdata.msg,{icon:2}); } }) }, }); }); } function createDir(){ layer.open({ type: 1, area: "400px", title: "创建目录", closeBtn: 1, shift: 5, shadeClose: false, btn: ['确定','取消'], content:'
\

\ 目录名称:\ \

\
', success:function(){ $("input[name='newPath']").focus().keyup(function(e){ if(e.keyCode == 13) $(".layui-layer-btn0").click(); }); }, yes:function(index,layero){ var name = $("input[name='newPath']").val(); if(name == ''){ layer.msg('目录名称不能为空!',{icon:2}); return; } var path = $("#myPath").val(); var dirname = name; // var loadT = layer.msg('正在创建目录['+dirname+']...',{icon:16,time:0,shade: [0.3, '#000']}); bkfPost('create_dir', {path:path,name:dirname}, function(data){ var rdata = $.parseJSON(data.data); if(rdata.status) { showMsg(rdata.msg, function(){ layer.close(index); osList(path); } ,{icon:1}, 2000); } else{ layer.msg(rdata.msg,{icon:2}); } }); } }); } //删除文件 function deleteFile(name, is_dir){ if (is_dir === false){ safeMessage('删除文件','删除后将无法恢复,真的要删除['+name+']吗?',function(){ var path = $("#myPath").val(); var filename = name; bkfPost('delete_file', {filename:filename,path:path}, function(rdata){ var rdata = $.parseJSON(rdata.data); showMsg(rdata.msg,function(){ osList(path); },{icon:rdata.status?1:2},2000); }); }); } else { safeMessage('删除文件夹','删除后将无法恢复,真的要删除['+name+']吗?',function(){ var path = $("#myPath").val(); bkfPost('delete_dir', {dir_name:name,path:path}, function(rdata){ var rdata = $.parseJSON(rdata.data); showMsg(rdata.msg,function(){ osList(path); },{icon:rdata.status?1:2},2000); }); }); } } function osList(path){ bkfPost('get_list', {path:path}, function(rdata){ var rdata = $.parseJSON(rdata.data); if(rdata.status === false){ upyunApi(); return; } var mlist = rdata.data; // console.log(mlist); var listBody = '' var listFiles = '' for(var i=0;i\'+mlist.list[i].name+'\ -\ -\ 删除' }else{ listFiles += '\'+mlist.list[i].name+'\ '+toSize(mlist.list[i].size)+'\ '+getLocalTime(mlist.list[i].time)+'\ 下载 | 删除' } } listBody += listFiles; var pathLi=''; var tmp = path.split('/') var pathname = ''; var n = 0; for(var i=0;i 0 && tmp[i] == '') continue; var dirname = tmp[i]; if(dirname == '') { dirname = '根目录'; n++; } pathname += '/' + tmp[i]; pathname = pathname.replace('//','/'); pathLi += '
  • '+dirname+'
  • '; } var um = 1; if(tmp[tmp.length-1] == '') um = 2; var backPath = tmp.slice(0,tmp.length-um).join('/') || '/'; $('#myPath').val(path); $(".upyunCon .place-input ul").html(pathLi); $(".upyunlist .list-list").html(listBody); upPathLeft(); $('#backBtn').click(function() { osList(backPath); }); $('.upyunCon .refreshBtn').click(function(){ osList(path); }); }); } //计算当前目录偏移 function upPathLeft(){ var UlWidth = $(".place-input ul").width(); var SpanPathWidth = $(".place-input").width() - 20; var Ml = UlWidth - SpanPathWidth; if(UlWidth > SpanPathWidth ){ $(".place-input ul").css("left",-Ml) } else{ $(".place-input ul").css("left",0) } } // $('.layui-layer-page').css('height','670px');