function apaPost(method, args,callback){ var loadT = layer.msg('正在获取...', { icon: 16, time: 0, shade: 0.3 }); var req_data = {}; req_data['name'] = 'acme_pandominassl_apply'; req_data['func'] = method; req_data['version'] = $('.plugin_version').attr('version'); if (typeof(args) == 'string'){ req_data['args'] = JSON.stringify(toArrayObject(args)); } else { req_data['args'] = JSON.stringify(args); } $.post('/plugins/run', req_data, function(data) { layer.close(loadT); if (!data.status){ //错误展示10S layer.msg(data.msg,{icon:0,time:2000,shade: [10, '#000']}); return; } if(typeof(callback) == 'function'){ callback(data); } },'json'); } function apaPostN(method, args,callback){ var req_data = {}; req_data['name'] = 'acme_pandominassl_apply'; req_data['func'] = method; req_data['version'] = $('.plugin_version').attr('version'); if (typeof(args) == 'string'){ req_data['args'] = JSON.stringify(toArrayObject(args)); } else { req_data['args'] = JSON.stringify(args); } $.post('/plugins/run', req_data, function(data) { if (!data.status){ //错误展示10S layer.msg(data.msg,{icon:0,time:2000,shade: [10, '#000']}); return; } if(typeof(callback) == 'function'){ callback(data); } },'json'); } function apaPostCallbak(method, version, args,callback){ var loadT = layer.msg('正在获取...', { icon: 16, time: 0, shade: 0.3 }); var req_data = {}; req_data['name'] = 'acme_pandominassl_apply'; req_data['func'] = method; args['version'] = version; if (typeof(args) == 'string'){ req_data['args'] = JSON.stringify(toArrayObject(args)); } else { req_data['args'] = JSON.stringify(args); } $.post('/plugins/callback', req_data, 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 apaReadme(){ var readme = ''; $('.soft-man-con').html(readme); } function emailDel(id, name){ safeMessage('删除['+name+']','您真的要删除['+name+']吗?',function(){ var data='id='+id+'&name='+name; apaPost('email_del', data, function(data){ var rdata = $.parseJSON(data.data); showMsg(rdata.msg,function(){ emailList(); },{icon: rdata.status ? 1 : 2}, 600); }); }); } function emailAdd(type){ layer.open({ type: 1, area: '500px', title: '添加邮件地址', closeBtn: 1, shift: 5, shadeClose: true, btn:["提交","关闭"], content: "
\
\ 邮件地址\
\
\
\ 备注\
\
\
", success:function(){ $("input[name='addr']").keyup(function(){ var v = $(this).val(); $("input[name='remark']").val(v); }); }, yes:function(index) { var data = $("#email_add").serialize(); data = decodeURIComponent(data); // data = toArrayObject(data); apaPost('email_add', data, function(data){ var rdata = $.parseJSON(data.data); showMsg(rdata.msg,function(){ if (rdata.status){ layer.close(index); emailList(); } },{icon: rdata.status ? 1 : 2}, 2000); }); } }); } function emailList(page, search){ var _data = {}; if (typeof(page) =='undefined'){ var page = 1; } _data['page'] = page; _data['page_size'] = 10; if(typeof(search) != 'undefined'){ _data['search'] = search; } apaPost('email_list', _data, function(data){ var rdata = $.parseJSON(data.data); var list = ''; for(i in rdata.data){ list += ''; list +=''; list += '' + rdata.data[i]['addr'] +''; list += '' + rdata.data[i]['remark'] +''; list += ''; list += '删除' + ''; list += ''; } var con = '
\ \ \ \ \
\
\ \ \ \ \ \ '+ list +'\
邮件地址备注操作
\
\
\
\
'; $(".soft-man-con").html(con); $('.dataTables_paginate').html(rdata.page); readerTableChecked(); }); } function dnsapiDel(id, name){ safeMessage('删除['+name+']','您真的要删除['+name+']吗?',function(){ var data='id='+id+'&name='+name; apaPost('dnsapi_del', data, function(data){ var rdata = $.parseJSON(data.data); showMsg(rdata.msg,function(){ dnsapiList(); },{icon: rdata.status ? 1 : 2}, 600); }); }); } var dnsapi_option = [ {"name":"dns_cf", "title":'cloudflare', 'key':'CF_Key:CF_Email'}, {"name":"dns_dp", "title":'dnspod/国内', 'key':'DP_Id:DP_Key'}, {"name":"dns_dpi", "title":'dnspod/国际', 'key':'DPI_Id:DPI_Key'}, {"name":"dns_gd", "title":'GoDaddy', 'key':'GD_Key:GD_Secret'}, {"name":"dns_pdns", "title":'PowerDNS', 'key':'PDNS_Url:PDNS_ServerId:PDNS_Token:PDNS_Ttl'}, {"name":"dns_lua", "title":'LuaDNS', 'key':'LUA_Key:LUA_Email'}, {"name":"dns_me", "title":'DNSMadeEasy', 'key':'ME_Key:ME_Secret'}, {"name":"dns_aws", "title":'Amazon Route53', 'key':'AWS_ACCESS_KEY_ID:AWS_SECRET_ACCESS_KEY'}, {"name":"dns_ali", "title":'Aliyun', 'key':'Ali_Key:Ali_Secret'}, {"name":"dns_ispconfig", "title":'ISPConfig', 'key':'ISPC_User:ISPC_Password:ISPC_Api:ISPC_Api_Insecure'}, {"name":"dns_ad", "title":'Alwaysdata', 'key':'AD_API_KEY'}, {"name":"dns_linode_v4", "title":'Linode', 'key':'LINODE_V4_API_KEY'}, {"name":"dns_freedns", "title":'FreeDNS', 'key':'FREEDNS_User:FREEDNS_Password'}, {"name":"dns_cyon", "title":'cyon.ch', 'key':'CY_Username:CY_Password:CY_OTP_Secret'}, {"name":"dns_gandi_livedns", "title":'LiveDNS', 'key':'GANDI_LIVEDNS_TOKEN'}, {"name":"dns_knot", "title":'Knot', 'key':'KNOT_SERVER:KNOT_KEY'}, {"name":"dns_dgon", "title":'DigitalOcean', 'key':'DO_API_KEY'}, {"name":"dns_cloudns", "title":'ClouDNS.net', 'key':'CLOUDNS_SUB_AUTH_ID:CLOUDNS_AUTH_PASSWORD'}, {"name":"dns_namesilo", "title":'Namesilo', 'key':'Namesilo_Key'}, {"name":"dns_azure", "title":'Azure', 'key':'AZUREDNS_SUBSCRIPTIONID:AZUREDNS_TENANTID:AZUREDNS_APPID:AZUREDNS_CLIENTSECRET'}, {"name":"dns_selectel", "title":'selectel.com', 'key':'SL_Key'}, {"name":"dns_zonomi", "title":'zonomi.com', 'key':'ZM_Key'}, {"name":"dns_kinghost", "title":'KingHost', 'key':'KINGHOST_Username:KINGHOST_Password'}, {"name":"dns_zilore", "title":'Zilore', 'key':'Zilore_Key'}, {"name":"dns_gcloud", "title":'Google Cloud DNS', 'key':'CLOUDSDK_ACTIVE_CONFIG_NAME'}, {"name":"dns_mydnsjp", "title":'MyDNS.JP', 'key':'MYDNSJP_MasterID:MYDNSJP_Password'}, {"name":"dns_doapi", "title":'do.de', 'key':'DO_LETOKEN'}, {"name":"dns_online", "title":'Online', 'key':'ONLINE_API_KEY'}, {"name":"dns_cn", "title":'Core-Networks', 'key':'CN_User:CN_Password'}, {"name":"dns_ultra", "title":'UltraDNS', 'key':'ULTRA_USR:ULTRA_PWD'}, {"name":"dns_hetzner", "title":'Hetzner', 'key':'HETZNER_Token'}, {"name":"dns_ddnss", "title":'DDNSS.de', 'key':'DDNSS_Token'}, ]; function getDnsapiKey(name){ for (var i = 0; i < dnsapi_option.length; i++) { if (dnsapi_option[i]['name'] == name){ return dnsapi_option[i]['key']; } } return ''; } function getDnsapiTitle(name){ for (var i = 0; i < dnsapi_option.length; i++) { if (dnsapi_option[i]['name'] == name){ return dnsapi_option[i]['title']; } } return '其他'; } function dnsapiAdd(row){ // console.log(row); var option_name = ''; var option_remark = ''; var option_type = 'cf'; var option_val = ''; var option_id = 0; if (typeof(row) != 'undefined'){ option_name = row['name']; option_remark = row['remark']; option_type = row['type']; option_val = row['val']; option_id = row['id']; } // console.log(option_name); function renderDnsapiOption(name, val){ var vlist = {}; if (val != ''){ var t = val.split('~'); for (var i = 0; i < t.length; i++) { var kv = t[i].split('|'); if (kv.length == 2){ vlist[kv[0]] = kv[1]; } else { vlist[kv[0]] = ''; } } // console.log(vlist); } var key = getDnsapiKey(name); var klist = key.split(':'); // console.log(klist); var option_html = ''; for (var i = 0; i < klist.length; i++) { var klist_val = ''; if (klist[i] in vlist){ klist_val = vlist[klist[i]]; } option_html += "\ "+klist[i]+"\
\ \
"; } $('#dnsapi_option').html(option_html); } layer.open({ type: 1, area: '500px', title: '添加DNSAPI', closeBtn: 1, shift: 5, shadeClose: true, btn:["提交","关闭"], content: "
\
\ 名称\
\
\
\ DNSAPI类型\
\ \
\
\
\ CF_Key\
\ \
\ CF_Email\
\ \
\
\
\ 备注\
\
\ \
", success:function(){ $("input[name='name']").keyup(function(){ var v = $(this).val(); $("input[name='remark']").val(v); }); var option = ''; for (var i = 0; i"+dnsapi_option[i]['title']+""; } else { option += ""; } } renderDnsapiOption(option_type, option_val); $('select[name="type"]').html(option); $('select[name="type"]').change(function(){ var name = $(this).val(); if (option_type == name){ renderDnsapiOption(name, option_val); } else { renderDnsapiOption(name,''); } }); }, yes:function(index) { var data = $("#dnsapi_add").serialize(); data = decodeURIComponent(data); data = toArrayObject(data); var key = getDnsapiKey(data['type']); var klist = key.split(':'); var val = ''; for (var i = 0; i < klist.length; i++) { var k = klist[i]; if (k in data){ if (klist.length - 1 == i){ val += k + '|' + data[k]; } else { val += k + '|' + data[k]+'~'; } } } data['val'] = val; apaPost('dnsapi_add', data, function(data){ var rdata = $.parseJSON(data.data); showMsg(rdata.msg,function(){ if (rdata.status){ layer.close(index); dnsapiList(); } },{icon: rdata.status ? 1 : 2}, 2000); }); } }); } function dnsapiList(page, search){ var _data = {}; if (typeof(page) =='undefined'){ var page = 1; } _data['page'] = page; _data['page_size'] = 10; if(typeof(search) != 'undefined'){ _data['search'] = search; } apaPost('dnsapi_list', _data, function(data){ var rdata = $.parseJSON(data.data); var list = ''; for(i in rdata.data){ list += ''; list +=''; list += '' + rdata.data[i]['name'] +''; list += '' + getDnsapiTitle(rdata.data[i]['type']) +''; list += '' + rdata.data[i]['val'].split('~').join("
") +''; list += '' + rdata.data[i]['remark'] +''; list += ''; list += '编辑 | '; list += '删除'; list += ''; } var con = '
\ \ \ \ \
\
\ \ \ \ \ \ \ \ '+ list +'\
名称类型备注操作
\
\
\
\
'; $(".soft-man-con").html(con); $('.dataTables_paginate').html(rdata.page); $('.edit').click(function(){ var idx = $(this).attr('index'); var row = rdata.data[idx]; // console.log(row); dnsapiAdd(row); }) readerTableChecked(); }); } function domainDel(id, name){ safeMessage('删除['+name+']','您真的要删除['+name+']吗?',function(){ var data='id='+id+'&name='+name; apaPost('domain_del', data, function(data){ var rdata = $.parseJSON(data.data); showMsg(rdata.msg,function(){ domainList(); },{icon: rdata.status ? 1 : 2}, 600); }); }); } function domainAdd(row){ var option_domian = ''; var option_remark = ''; var option_email = ''; var option_id = 0; var option_dnsapi_id = 0; if (typeof(row) != 'undefined'){ option_domian = row['domain']; option_remark = row['remark']; option_email = row['email']; option_id = row['id']; option_dnsapi_id = row['dnsapi_id']; } layer.open({ type: 1, area: '500px', title: '添加顶级域名', closeBtn: 1, shift: 5, shadeClose: true, btn:["提交","关闭"], content: "
\
\ 域名\
\
\
\ DNSAPI\
\ \
\
\
\ 邮件\
\
\
\ 备注\
\
\ \
", success:function(){ $("input[name='domain']").keyup(function(){ var v = $(this).val(); $("input[name='remark']").val(v); }); var dnsapi_id_html = ""; apaPostN('dnsapi_list_all', {}, function(data){ var rdata = $.parseJSON(data.data); for (var i = 0; i < rdata.length; i++) { if (option_dnsapi_id == rdata[i]['id']){ dnsapi_id_html += ""; } else { dnsapi_id_html += ""; } } $('select[name="dnsapi_id"]').html(dnsapi_id_html); }); }, yes:function(index) { var data = $("#domain_add").serialize(); data = decodeURIComponent(data); apaPost('domain_add', data, function(data){ var rdata = $.parseJSON(data.data); showMsg(rdata.msg,function(){ if (rdata.status){ layer.close(index); domainList(); } },{icon: rdata.status ? 1 : 2}, 2000); }); } }); } function domainList(page, search){ var _data = {}; if (typeof(page) =='undefined'){ var page = 1; } _data['page'] = page; _data['page_size'] = 10; if(typeof(search) != 'undefined'){ _data['search'] = search; } apaPost('domain_list', _data, function(data){ var rdata = $.parseJSON(data.data); // console.log(rdata); var list = ''; for(i in rdata.data){ list += ''; list +=''; list += '' + rdata.data[i]['domain'] +''; list += '' + rdata.data[i]['dnsapi_id_alias'] +''; list += '' + rdata.data[i]['email'] +''; list += '' + rdata.data[i]['remark'] +''; list += ''; list += '编辑 | '; list += '删除'; list += ''; } var con = '
\ \
\
\ \ \ \ \ \ \ \ '+ list +'\
域名DNSAPI邮件备注操作
\
\
\
\
'; $(".soft-man-con").html(con); $('.dataTables_paginate').html(rdata.page); $('.edit').click(function(){ var idx = $(this).attr('index'); var row = rdata.data[idx]; domainAdd(row); }) readerTableChecked(); }); }