function str2Obj(str){ var data = {}; kv = str.split('&'); for(i in kv){ v = kv[i].split('='); data[v[0]] = v[1]; } return data; } function rsPost(method,args,callback, title){ var _args = null; if (typeof(args) == 'string'){ _args = JSON.stringify(str2Obj(args)); } else { _args = JSON.stringify(args); } var _title = '正在获取...'; if (typeof(title) != 'undefined'){ _title = title; } var loadT = layer.msg(_title, { icon: 16, time: 0, shade: 0.3 }); $.post('/plugins/run', {name:'rsyncd', 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'); } ///////////////// ----------------- 发送配置 ---------------- ////////////// function createSendTask(){ layer.open({ type: 1, area: ['600px','500px'], title: "创建发送任务", closeBtn: 1, shift: 0, shadeClose: false, btn: ['提交','取消'], content:"
\
\ 服务器IP\
\ \
\
\
\ 同步目录\
\ \ ?\
\
\
\ 同步方式\
\ \ ?\ 同步周期\ \
\
\ \ \
\ 限速\
\ KB\ ?\ 延迟 秒\ ?\
\
\
\ 连接方式\
\ \ 压缩传输\ \ ?\
\
\
\ 接收密钥\
\ \
\
\
\ 用户名\
\ \
\
\
\ 密码\
\ \
\
\
\ 端口\
\ \
\
\ \
", success:function(){ $('[data-toggle="tooltip"]').tooltip(); $(".conn-user").hide(); $("select[name='conn_type']").change(function(){ if($(this).val() == 'key'){ $(".conn-user").hide(); $(".conn-key").show(); }else{ $(".conn-user").show(); $(".conn-key").hide(); } }); }, yes:function(){ var args = {}; args['ip'] = $('input[name="ip"]').val(); args['path'] = $('input[name="path"]').val(); args['delete'] = $('input[name="delete"]').val(); args['realtime'] = $('input[name="realtime"]').val(); args['bwlimit'] = $('input[name="bwlimit"]').val(); args['conn_type'] = $('input[name="conn_type"]').val(); args['compress'] = $('input[name="compress"]').val(); console.log(args); rsPost('lsyncd_add', args, function(rdata){ console.log(rdata); }); return false; } }); } function rsyncdSend(){ rsPost('lsyncd_list', '', function(data){ var rdata = $.parseJSON(data.data); console.log(rdata); if (!rdata.status){ layer.msg(rdata.msg,{icon:rdata.status?1:2,time:2000,shade: [0.3, '#000']}); return; } var list = rdata.data.list; var con = ''; con += '
\ \ \ \
'; con += '
'; con += ''; con += ''; con += ''; con += ''; con += ''; con += ''; con += ''; con += ''; con += ''; for (var i = 0; i < list.length; i++) { con += ''+ '' + '' + '' + '' + '' + '\ '; } con += ''; con += '
名称(标识)源目录同步到模式周期操作
' + "dd"+'' + list[i]['path']+'' + list[i]['ip']+":"+"cc"+'' + "增量"+'' + "实时" +'\ 同步\ | 日志\ | 过滤器\ | 编辑\ | 删除\
'; $(".soft-man-con").html(con); }); } ///////////////// ----------------- 接收配置 ---------------- ////////////// function rsyncdConf(){ rsPost('conf', {}, function(rdata){ rpath = rdata['data']; if (rdata['status']){ onlineEditFile(0, rpath); } else { layer.msg(rdata.msg,{icon:1,time:2000,shade: [0.3, '#000']}); } }); } function rsyncdLog(){ pluginStandAloneLogs("rsyncd","","run_log"); } function rsyncdReceive(){ rsPost('rec_list', '', function(data){ var rdata = $.parseJSON(data.data); if (!rdata.status){ layer.msg(rdata.msg,{icon:rdata.status?1:2,time:2000,shade: [0.3, '#000']}); return; } // console.log(rdata); var list = rdata.data; var con = ''; con += '
\ \ \
'; con += '
'; con += ''; con += ''; con += ''; con += ''; con += ''; con += ''; con += ''; //编辑 for (var i = 0; i < list.length; i++) { con += ''+ '' + '' + '' + '\ '; } con += ''; con += '
服务名路径备注操作(添加)
' + list[i]['name']+'' + list[i]['path']+'' + list[i]['comment']+'\ 命令\ | 密钥\ | 编辑\ | 删除
'; $(".soft-man-con").html(con); }); } function addReceive(name = ""){ rsPost('get_rec',{"name":name},function(rdata) { var rdata = $.parseJSON(rdata.data); var data = rdata.data; var readonly = ""; if (name !=""){ readonly = 'readonly="readonly"' } var loadOpen = layer.open({ type: 1, title: '创建接收', area: '400px', btn:['确认','取消'], content:"
\
\ 项目名\
\ \
\
\
\ 密钥\
\ \ \
\
\
\ 同步到\
\ \ \
\
\
\ 备注\
\ \
\
\
", success:function(layero, index){}, yes:function(){ var args = {}; args['name'] = $('#name').val(); args['pwd'] = $('#MyPassword').val(); args['path'] = $('#inputPath').val(); args['ps'] = $('#ps').val(); var loadT = layer.msg('正在获取...', { icon: 16, time: 0, shade: 0.3 }); rsPost('add_rec', args, function(data){ var rdata = $.parseJSON(data.data); layer.close(loadOpen); layer.msg(rdata.msg,{icon:rdata.status?1:2,time:2000,shade: [0.3, '#000']}); setTimeout(function(){rsyncdReceive();},2000); }); } }); }) } function delReceive(name){ safeMessage('删除['+name+']', '您真的要删除['+name+']吗?', function(){ var _data = {}; _data['name'] = name; rsPost('del_rec', _data, function(data){ var rdata = $.parseJSON(data.data); layer.msg(rdata.msg,{icon:rdata.status?1:2,time:2000,shade: [0.3, '#000']}); setTimeout(function(){rsyncdReceive();},2000); }); }); } function cmdRecSecretKey(name){ var _data = {}; _data['name'] = name; rsPost('cmd_rec_secret_key', _data, function(data){ var rdata = $.parseJSON(data.data); layer.open({ type: 1, title: '接收密钥', area: '400px', content:"
" }); }); } function cmdRecCmd(name){ var _data = {}; _data['name'] = name; rsPost('cmd_rec_cmd', _data, function(data){ var rdata = $.parseJSON(data.data); layer.open({ type: 1, title: '接收命令例子', area: '400px', content:"
"+rdata.data+"
" }); }); } function rsRead(){ var readme = ''; $('.soft-man-con').html(readme); }