skycaiji/public/static/js/admin.js

69 lines
35 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/*
|--------------------------------------------------------------------------
| SkyCaiji (蓝天采集器)
|--------------------------------------------------------------------------
| Copyright (c) 2018 https://www.skycaiji.com All rights reserved.
|--------------------------------------------------------------------------
| 使用协议 https://www.skycaiji.com/licenses
|--------------------------------------------------------------------------
*/
'use strict';function admincpInit(){var bodyWidth=$(document.body).width();var admincp_skin=getCookie('admincp_skin');if(admincp_skin){$('body').removeClass('skin-blue').addClass(admincp_skin)}
if(bodyWidth>767){var admincp_sd_mini=getCookie('admincp_sd_mini');if(admincp_sd_mini==1){$('body').addClass('sidebar-collapse').addClass('sidebar-mini')}}
$(document).ready(function(){$('#treeview_skins').bind('click',function(){if($('#sidebar_skins').html().length<=0){initSkins()}});if(bodyWidth>767){var admincp_sd_mini=getCookie('admincp_sd_mini');if(admincp_sd_mini==1){$('#chk_sidebar_mini').prop('checked','checked')}
$('#chk_sidebar_mini').bind('click',function(){var setMini=0;if($(this).is(':checked')){$('body').addClass('sidebar-collapse').addClass('sidebar-mini');setMini=1}else{$('body').removeClass('sidebar-collapse').removeClass('sidebar-mini')}
setCookie('admincp_sd_mini',setMini,30)});$('.sidebar-toggle[data-toggle="push-menu"]').bind('click',function(){$('body').addClass('sidebar-mini')})}else{$('#chk_sidebar_mini').parents('li').eq(0).hide()}
if($('#menu_backstage_task').length>0){$('#menu_backstage_task').bind('click',function(){windowModal('采集任务',ulink('admin/backstage/backstageTask'),{lg:1})});winBackstageTask.count()}})}
function insertAtCaret(myField,myValue){myField=$(myField);var curObj=myField[0];if(document.selection){myField.focus();var sel=document.selection.createRange();sel.text=myValue;sel.select()}else if(curObj.selectionStart||curObj.selectionStart=='0'){var startPos=curObj.selectionStart;var endPos=curObj.selectionEnd;var restoreTop=curObj.scrollTop;var value=myField.val();value=value.substring(0,startPos)+myValue+value.substring(endPos,value.length);myField.val(value);myField.focus();curObj.selectionStart=startPos+myValue.length;curObj.selectionEnd=startPos+myValue.length}else{myField.val(myField.val()+myValue);myField.focus()}}
function initSkins(){var $skinsList=$('<ul />',{'class':'list-unstyled clearfix'});var $skinBlue=$('<li />',{style:'float:left; width: 33.33333%; padding: 5px;'}).append('<a href="javascript:void(0)" data-skin="skin-blue" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">'+'<div><span style="display:block; width: 20%; float: left; height: 7px; background: #367fa9"></span><span class="bg-light-blue" style="display:block; width: 80%; float: left; height: 7px;"></span></div>'+'<div><span style="display:block; width: 20%; float: left; height: 20px; background: #222d32"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>'+'</a>'+'<p class="text-center no-margin">'+window.tpl_lang.skin_blue+'</p>');$skinsList.append($skinBlue);var $skinBlack=$('<li />',{style:'float:left; width: 33.33333%; padding: 5px;'}).append('<a href="javascript:void(0)" data-skin="skin-black" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">'+'<div style="box-shadow: 0 0 2px rgba(0,0,0,0.1)" class="clearfix"><span style="display:block; width: 20%; float: left; height: 7px; background: #fefefe"></span><span style="display:block; width: 80%; float: left; height: 7px; background: #fefefe"></span></div>'+'<div><span style="display:block; width: 20%; float: left; height: 20px; background: #222"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>'+'</a>'+'<p class="text-center no-margin">'+window.tpl_lang.skin_black+'</p>');$skinsList.append($skinBlack);var $skinPurple=$('<li />',{style:'float:left; width: 33.33333%; padding: 5px;'}).append('<a href="javascript:void(0)" data-skin="skin-purple" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">'+'<div><span style="display:block; width: 20%; float: left; height: 7px;" class="bg-purple-active"></span><span class="bg-purple" style="display:block; width: 80%; float: left; height: 7px;"></span></div>'+'<div><span style="display:block; width: 20%; float: left; height: 20px; background: #222d32"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>'+'</a>'+'<p class="text-center no-margin">'+window.tpl_lang.skin_purple+'</p>');$skinsList.append($skinPurple);var $skinGreen=$('<li />',{style:'float:left; width: 33.33333%; padding: 5px;'}).append('<a href="javascript:void(0)" data-skin="skin-green" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">'+'<div><span style="display:block; width: 20%; float: left; height: 7px;" class="bg-green-active"></span><span class="bg-green" style="display:block; width: 80%; float: left; height: 7px;"></span></div>'+'<div><span style="display:block; width: 20%; float: left; height: 20px; background: #222d32"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>'+'</a>'+'<p class="text-center no-margin">'+window.tpl_lang.skin_green+'</p>');$skinsList.append($skinGreen);var $skinRed=$('<li />',{style:'float:left; width: 33.33333%; padding: 5px;'}).append('<a href="javascript:void(0)" data-skin="skin-red" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">'+'<div><span style="display:block; width: 20%; float: left; height: 7px;" class="bg-red-active"></span><span class="bg-red" style="display:block; width: 80%; float: left; height: 7px;"></span></div>'+'<div><span style="display:block; width: 20%; float: left; height: 20px; background: #222d32"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>'+'</a>'+'<p class="text-center no-margin">'+window.tpl_lang.skin_red+'</p>');$skinsList.append($skinRed);var $skinYellow=$('<li />',{style:'float:left; width: 33.33333%; padding: 5px;'}).append('<a href="javascript:void(0)" data-skin="skin-yellow" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">'+'<div><span style="display:block; width: 20%; float: left; height: 7px;" class="bg-yellow-active"></span><span class="bg-yellow" style="display:block; width: 80%; float: left; height: 7px;"></span></div>'+'<div><span style="display:block; width: 20%; float: left; height: 20px; background: #222d32"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>'+'</a>'+'<p class="text-center no-margin">'+window.tpl_lang.skin_yellow+'</p>');$skinsList.append($skinYellow);var $skinBlueLight=$('<li />',{style:'float:left; width: 33.33333%; padding: 5px;'}).append('<a href="javascript:void(0)" data-skin="skin-blue-light" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">'+'<div><span style="display:block; width: 20%; float: left; height: 7px; background: #367fa9"></span><span class="bg-light-blue" style="display:block; width: 80%; float: left; height: 7px;"></span></div>'+'<div><span style="display:block; width: 20%; float: left; height: 20px; background: #f9fafc"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>'+'</a>'+'<p class="text-center no-margin">'+window.tpl_lang.skin_blue_light+'</p>');$skinsList.append($skinBlueLight);var $skinBlackLight=$('<li />',{style:'float:left; width: 33.33333%; padding: 5px;'}).append('<a href="javascript:void(0)" data-skin="skin-black-light" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">'+'<div style="box-shadow: 0 0 2px rgba(0,0,0,0.1)" class="clearfix"><span style="display:block; width: 20%; float: left; height: 7px; background: #fefefe"></span><span style="display:block; width: 80%; float: left; height: 7px; background: #fefefe"></span></div>'+'<div><span style="display:block; width: 20%; float: left; height: 20px; background: #f9fafc"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>'+'</a>'+'<p class="text-center no-margin">'+window.tpl_lang.skin_black_light+'</p>');$skinsList.append($skinBlackLight);var $skinPurpleLight=$('<li />',{style:'float:left; width: 33.33333%; padding: 5px;'}).append('<a href="javascript:void(0)" data-skin="skin-purple-light" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">'+'<div><span style="display:block; width: 20%; float: left; height: 7px;" class="bg-purple-active"></span><span class="bg-purple" style="display:block; width: 80%; float: left; height: 7px;"></span></div>'+'<div><span style="display:block; width: 20%; float: left; height: 20px; background: #f9fafc"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>'+'</a>'+'<p class="text-center no-margin">'+window.tpl_lang.skin_purple_light+'</p>');$skinsList.append($skinPurpleLight);var $skinGreenLight=$('<li />',{style:'float:left; width: 33.33333%; padding: 5px;'}).append('<a href="javascript:void(0)" data-skin="skin-green-light" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">'+'<div><span style="display:block; width: 20%; float: left; height: 7px;" class="bg-green-active"></span><span class="bg-green" style="display:block; width: 80%; float: left; height: 7px;"></span></div>'+'<div><span style="display:block; width: 20%; float: left; height: 20px; background: #f9fafc"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>'+'</a>'+'<p class="text-center no-margin">'+window.tpl_lang.skin_green_light+'</p>');$skinsList.append($skinGreenLight);var $skinRedLight=$('<li />',{style:'float:left; width: 33.33333%; padding: 5px;'}).append('<a href="javascript:void(0)" data-skin="skin-red-light" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">'+'<div><span style="display:block; width: 20%; float: left; height: 7px;" class="bg-red-active"></span><span class="bg-red" style="display:block; width: 80%; float: left; height: 7px;"></span></div>'+'<div><span style="display:block; width: 20%; float: left; height: 20px; background: #f9fafc"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>'+'</a>'+'<p class="text-center no-margin">'+window.tpl_lang.skin_red_light+'</p>');$skinsList.append($skinRedLight);var $skinYellowLight=$('<li />',{style:'float:left; width: 33.33333%; padding: 5px;'}).append('<a href="javascript:void(0)" data-skin="skin-yellow-light" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">'+'<div><span style="display:block; width: 20%; float: left; height: 7px;" class="bg-yellow-active"></span><span class="bg-yellow" style="display:block; width: 80%; float: left; height: 7px;"></span></div>'+'<div><span style="display:block; width: 20%; float: left; height: 20px; background: #f9fafc"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>'+'</a>'+'<p class="text-center no-margin">'+window.tpl_lang.skin_yellow_light+'</p>');$skinsList.append($skinYellowLight);$('#sidebar_skins').html($skinsList);var mySkins=new Array('skin-blue','skin-black','skin-red','skin-yellow','skin-purple','skin-green','skin-blue-light','skin-black-light','skin-red-light','skin-yellow-light','skin-purple-light','skin-green-light');$('#sidebar_skins li a[data-skin]').bind('click',function(){var skin=$(this).attr('data-skin');for(var i in mySkins){$('body').removeClass(mySkins[i])}
$('body').addClass(skin);setCookie('admincp_skin',skin,30)})}
function urlUsertoken(){return'_usertoken_='+encodeURIComponent(window.site_config.usertoken)}
function openStoreUrl(url){if(url.indexOf('clientinfo=')<0&&window.site_config.clientinfo){url+=(url.indexOf('?')>-1?'&':'?')+'clientinfo='+encodeURIComponent(window.site_config.clientinfo)}
window.open(url,'_blank')}
function eleExchange(box,move,ele){if(!window.ele_exchange_is_touch){window.ele_exchange_is_touch=1;if('ontouchstart' in window||navigator.maxTouchPoints){window.ele_exchange_is_touch=2}}
if(window.ele_exchange_is_touch==2){$(box).on('click',move,function(){var obj=$(this).parents(ele).eq(0);var next=obj.next(ele);if(next.length>0){next.after(obj)}})}else{$(box).sortable({items:ele,handle:move,axis:'y'})}}
function showPanelCollapse(id){$(id).parent().find('a[data-toggle][href="'+id+'"]').attr('aria-expanded',!0).removeClass('collapsed');$(id).addClass('in').attr('aria-expanded',!0).attr('style','')}
function inputSelectCustom(sltObj,iptName,onOptions,customName,changeFunc){customName=customName?customName:'custom';var onChangeFunc=function(curObj,iptEle){var ipt=$(curObj).parents('.input-select-custom').eq(0).find(iptEle);if($(curObj).val()==customName){ipt.show()}else{ipt.hide()}
if(changeFunc&&typeof(changeFunc)=='function'){changeFunc()}};if(sltObj&&iptName){$(sltObj).bind('change',function(){onChangeFunc(this,'[name="'+iptName+'"]')})}else if(onOptions&&typeof(onOptions)=='object'){$(onOptions.box).on('change',onOptions.slt,function(){onChangeFunc(this,onOptions.ipt)})}}
function visualizeData(data){var cacheData=data;data=isNull(data)?'':data;var options={lg:1,hidden_func:function(){window.win_visualize_data=null}};if(dataIsJson(data)){var jsonId='json_'+generateUUID();modal('JSON解析','<div id="'+jsonId+'"></div>',options);var jsonTreeFunc=function(){window.tool_json_tree.treeId='#'+jsonId;window.tool_json_tree.load(data)};if(window.tool_json_tree){jsonTreeFunc()}else{$.getScript(window.site_config.pub+'/static/js/admin/tool_json_tree.js',jsonTreeFunc)}}else{options.loaded_func=function(){data=data.replace(/<script[^<>]*>[\s\S]*?<\/script>/ig,'');data=data.replace(/<meta[^<>]*charset[^<>]*>/i,'');var ifrId='#myModalIframe';$(ifrId).bind('load',function(){if($(ifrId).contents().find('body').html().length<=0){$(ifrId).contents().find('body').html(data)}});$(ifrId).contents().find('body').html(data)};var title='HTML预览';if(data&&data.indexOf('<pre>')===0){title='HTML代码'}
windowIframe(title,'',options)}(function(data){if(data){$('#myModal .modal-footer .close').addClass('btn btn-default').removeClass('close');$('#myModal .modal-footer').prepend('<button type="button" class="btn btn-info btn-back" data-dismiss="modal">返回</button>');$('#myModal .modal-footer .btn-back').bind('click',function(){visualizeData(data)})}})(window.win_visualize_data);window.win_visualize_data=cacheData}
function cpEasyBrowser(url,pageSource,inputUrls){pageSource=pageSource?pageSource:'';inputUrls=inputUrls?inputUrls:{};var data={type:'browser_url',page_source:pageSource,test_url:url,input_urls:inputUrls};data=JSON.stringify(data);window.top.postMessage(data,'*')}
function cpBrowserUrl(collId,pageSource,testUrl,inputedUrls){inputedUrls=inputedUrls?inputedUrls:{};var url='cpattern_test/browser?coll_id=_collid_&page_source=_source_&test_url=_url_';if(inputedUrls){for(var i in inputedUrls){url+='&'+i+'='+encodeURIComponent(inputedUrls[i])}}
url=ulink(url,{'_collid_':collId,'_source_':pageSource,'_url_':testUrl});return url}
function loadPluginFunc(params){params=params?params:{};var boxObj=$(params.boxObj);var funcObj=boxObj.find(params.funcObj);var paramObj=params.paramObj?boxObj.find(params.paramObj):null;var funcVal=params.funcVal?params.funcVal:'';var winCacheName='win_cache_plugin_func_'+params.module;if(paramObj&&paramObj.length>0){if(!funcObj.attr('data-change-pla')){funcObj.attr('data-change-pla',1);funcObj.bind('change',function(){var reStrFunc=function(str){if(str){var regLineR=new RegExp("\\\\r",'g');var regLineN=new RegExp("\\\\n",'g');str=str.replace(regLineR,"\r").replace(regLineN,"\n")}else{str=''}
return str};paramObj=boxObj.find(params.paramObj);var placeholder=paramObj.attr('data-placeholder');placeholder=reStrFunc(placeholder);if($(this).val()){var sltOption=$(this).find('option:selected');var funcPrams=sltOption.attr('data-params');funcPrams=funcPrams?funcPrams:'';var funcComment=sltOption.attr('data-comment');funcComment=funcComment?funcComment:'';if(funcPrams||funcComment){if(funcPrams){placeholder+="\r\n函数参数"+reStrFunc(funcPrams)}
if(funcComment){placeholder+="\r\n函数注释"+reStrFunc(funcComment)}}}
var rows=2;if(placeholder){var regLine=new RegExp("[\\r\\n]+",'g');var matchLine=placeholder.split(regLine);if(matchLine&&typeof(matchLine)=='object'){rows=parseInt(matchLine.length)+1}}
if(rows>8){rows=8}
if(rows<2){rows=2}
paramObj.attr('placeholder',placeholder).attr('rows',rows)})}}
var setFuncVal=function(){funcObj.val(funcVal).trigger('change')};if(funcObj.attr('data-is-loaded')){setFuncVal()}else{if(params.cache&&window[winCacheName]){funcObj.attr('data-is-loaded',1).append(window[winCacheName]);setFuncVal()}else{ajaxOpen({type:'GET',dataType:'json',url:ulink('collector/plugin_func'),async:params.cache?false:!0,data:{module:params.module},success:function(data){if(funcObj.attr('data-is-loaded')){setFuncVal()}else{funcObj.attr('data-is-loaded',1);if(data.code==1){var html='';var apps=data.data;if(apps&&typeof(apps)=='object'){for(var app in apps){var appData=apps[app];appData=appData?appData:{};var methods=appData.methods;if(methods){html+='<optgroup label="'+htmlspecialchars(appData.name+''+app+'')+'">';for(var m in methods){var mMethod=methods[m];mMethod=mMethod?mMethod:{};html+='<option value="'+app+':'+m+'" data-params="'+(mMethod.params?mMethod.params:'')+'" data-comment="'+(mMethod.comment?mMethod.comment:'')+'">'+m+''+(mMethod.comment_cut?mMethod.comment_cut:'')+'</option>'}
html+='</optgroup>'}}}
funcObj.append(html);if(params.cache){window[winCacheName]=html}}}},error:function(xhr,status,error){funcObj.removeAttr('data-is-loaded');toastr.error('函数插件载入失败:'+status+' '+error)},complete:function(xhr,status){setFuncVal()}})}}}
function tipsPluginFunc(module){var tips='';if(module=='process'){tips='<p>如需扩展系统函数,请在根目录/data/config.php中添加配置</p>'+"<p>'EXTEND_PROCESS_FUNC'=&gt;array('PHP函数名'=&gt;'描述')</p>"+'<p>如需扩展插件函数,可创建<a href="'+ulink('develop/func?module=process')+'" target="_blank">函数插件</a></p>'}else if(module=='processIf'){tips='<p>选择函数,取反可获取函数结果的相反值</p>'+'<p>默认将当前字段作为参数传入,如需传入多个参数,一行一个值,可输入任何内容或调用字段</p>'+'<p>请按函数传参,否则运行出错!</p>'+'<p>如需扩展系统函数,请在根目录/data/config.php中添加配置</p>'+"<p>'EXTEND_PROCESS_IF'=&gt;array('PHP函数名'=&gt;'描述')</p>"+'<p>如需扩展插件函数,可创建<a href="'+ulink('develop/func?module=processIf')+'" target="_blank">函数插件</a></p>'}else if(module=='downloadImg'||module=='contentSign'){window.open(ulink('develop/func?module='+module));return!1}
confirmRight({msg:tips,yes:'确定',width:500,textAlign:'left'})}
function tipsCurlPost(){var tips='<p>表单数据模拟form表单输入的数据</p><p>表单上传模拟form表单输入并上传的数据</p>'+'<p>JSON数组以json格式发送数据可在“发送数据”的值中直接输入json字符串根节点名称使用###表示,子节点名称使用.分隔例如a.b.c</p>';confirmRight({msg:tips,yes:'确定',width:500,textAlign:'left'})}
function collectorWindow(title,uri,uriVals,options){options=options?options:{};options.backdrop_static=1;title=isNull(title)?'':title;title+='<div class="loading-sm" style="margin-left:5px;"></div>';window.win_collector_window_params={title:title,uri:uri,uriVals:uriVals,options:options};windowModal(title,ulink('admin/collector/echo_msg?op=run'),{lg:options.lg})}
var collectorEchoMsg={config:{},processes:{},close_non_stop:!1,end_set_timeout:null,run:function(config){collectorEchoMsg.config=isObject(config)?config:{};collectorEchoMsg.processes={};collectorEchoMsg.close_non_stop=!1;var winParams=window.win_collector_window_params;winParams=isObject(winParams)?winParams:{};var uri=winParams.uri?winParams.uri:'';var uriVals=isObject(winParams.uriVals)?winParams.uriVals:{};var options=isObject(winParams.options)?winParams.options:{};var winProcessBox=$('#myModal #win_cem_process_box').clone();if(uri){var title=winParams.title+'<small style="margin-left:10px;">日志读取间隔<input type="number" class="form-control input-sm" style="display:inline;width:40px;height:20px;padding:1px 2px 1px 2px;margin:0px 3px 0px 3px;" id="win_cem_interval" value="'+collectorEchoMsg.get_interval()+'" />秒<button type="button" class="btn btn-default btn-xs" id="win_cem_interval_btn" style="margin-left:3px;">保存</button>';var closeFuncs=new Array();if(!isNull(options.close_func)){if(isObject(options.close_func)){closeFuncs=options.close_func}else{closeFuncs.push(options.close_func)}}
closeFuncs.push(function(){if(!collectorEchoMsg.close_non_stop){collectorEchoMsg.stop_all()}});options.close_func=closeFuncs;windowIframe(title,'',options);$('#myModal #myModalIframe').hide();$('#myModal #win_cem_interval_btn').bind('click',function(){collectorEchoMsg.set_interval($('#win_cem_interval').val())});var runUrl=ulink(uri,uriVals);ajaxOpen({type:'get',url:runUrl,dataType:'json',async:!0,success:function(data){if(data.code==1){var processes=data.data?data.data:{};var collectorKey=processes.collector_key?processes.collector_key:'';var processKeys=isObject(processes.process_keys)?processes.process_keys:[];var processNum=processKeys.length;if(!collectorKey||processNum<=0){return}
$('#myModal .modal-body').append(winProcessBox);if(processNum>1){$('#myModal .modal-body').addClass('win-cem-process-body')}
var processNavHtml='';for(var i=0;i<processNum;i++){processNavHtml+='<li><a href="javascript:;" data-collector-process="'+collectorKey+'-'+processKeys[i]+'">进程'+processKeys[i]+'</a></li>'}
$('#win_cem_process_nav').html(processNavHtml);$('#win_cem_process_nav [data-collector-process]').bind('click',function(){collectorEchoMsg.process($(this).attr('data-collector-process'))});runUrl+=(runUrl.indexOf('?')>-1?'&':'?')+'collector_key='+collectorKey;$('#myModal #myModalIframe').attr('src',runUrl);window.setTimeout(function(){collectorEchoMsg.process(collectorKey+'-'+processKeys[0])},200)}else{ajaxDataMsg(data);$('#myModal').modal('hide')}}})}},process:function(collectorProcess){if(!collectorProcess){return}
if(!collectorEchoMsg.processes[collectorProcess]){collectorEchoMsg.processes[collectorProcess]={}}
$('#win_cem_process_nav li').removeClass('active');$('#win_cem_process_nav').find('[data-collector-process="'+collectorProcess+'"]').parents('li').eq(0).addClass('active');$('#myModal .win-cem-ifr-box').hide();var ifrId='win_cem_ifr_'+collectorProcess;var ifr=document.getElementById(ifrId);if(!ifr){ifr=document.createElement('iframe');$(ifr).attr('id',ifrId);$(ifr).attr('frameborder','0');$(ifr).attr('scrolling','yes');$(ifr).bind('load',function(){collectorEchoMsg.processes[collectorProcess].line=0;collectorEchoMsg.processes[collectorProcess].html='';collectorEchoMsg.read(collectorProcess)});var box=document.createElement('div');$(box).addClass('win-cem-ifr-box');$(box).append(ifr);$('#myModal .modal-body').append(box)}else{collectorEchoMsg.read(collectorProcess)}
$(ifr).parents('.win-cem-ifr-box').eq(0).show()},read:function(collectorProcess){if(!collectorProcess){return}
if(!collectorEchoMsg.processes[collectorProcess]){return}
var interval=collectorEchoMsg.get_interval();var ifrId='win_cem_ifr_'+collectorProcess;if(collectorEchoMsg.processes[collectorProcess].read_timeout){window.clearTimeout(collectorEchoMsg.processes[collectorProcess].read_timeout)}
var readFunc=function(){collectorEchoMsg.processes[collectorProcess].read_ajax=ajaxOpen({type:'get',dataType:'json',async:!0,url:ulink('admin/collector/echo_msg?op=read&collector_process=_c_p_&line=_line_',{'_c_p_':collectorProcess,'_line_':collectorEchoMsg.processes[collectorProcess].line}),success:function(data){if(data.code==1&&data.data){var line=toInt(data.data.line);if(line>0){collectorEchoMsg.processes[collectorProcess].line=line;collectorEchoMsg.ifr_html(collectorProcess,data.data.html);if(data.data.js){$('#'+ifrId).contents().find('head').append(data.data.js)}}}},complete:function(){collectorEchoMsg.processes[collectorProcess].read_timeout=window.setTimeout(function(){if($('#'+ifrId).is(':visible')){if(!collectorEchoMsg.processes[collectorProcess].end){readFunc()}}},interval*1000)}})};readFunc()},ifr_html:function(collectorProcess,html){var cpHtml=collectorEchoMsg.processes[collectorProcess].html;cpHtml=cpHtml?cpHtml:'';cpHtml+=html?html:'';collectorEchoMsg.processes[collectorProcess].html=cpHtml;var ifrBody=$('#win_cem_ifr_'+collectorProcess).contents().find('body').get(0);ifrBody.innerHTML=cpHtml},end:function(collectorProcess,isTimeout){if(collectorEchoMsg.end_set_timeout){window.clearTimeout(collectorEchoMsg.end_set_timeout)}
if(collectorProcess){if(isTimeout){var errorHtml='<div style="color:red;font-weight:bold;margin:5px 0;" id="win_cem_error">运行中断了,请修改'+(collectorEchoMsg.config.server?collectorEchoMsg.config.server:'web')+'服务器的超时时间或将采集运行模式设置为<a href="'+ulink('admin/setting/caiji')+'" target="_blank">cli命令行</a></div>';collectorEchoMsg.ifr_html(collectorProcess,errorHtml)}
var endAll=!1;var statusFunc=function(){var interval=collectorEchoMsg.get_interval();ajaxOpen({type:'get',dataType:'json',async:!0,url:ulink('admin/collector/echo_msg?op=status&collector_process=_cpkey_',{'_cpkey_':collectorProcess}),success:function(data){if(data.code==1){var statusList=data.data;if(isObject(statusList)){var pStatus=isObject(statusList.processes)?statusList.processes:{};$('#win_cem_process_nav').find('[data-collector-process]').each(function(){var cpkey=$(this).attr('data-collector-process');var pkey=cpkey?cpkey.split('-'):[];pkey=pkey[1]?pkey[1]:'';if(pkey&&!pStatus[pkey]){collectorEchoMsg.stop_process(cpkey);$(this).css('color','green')}});if(!statusList.main){endAll=!0;$('#myModal .modal-title').find('.loading-sm').remove()}}}},complete:function(){collectorEchoMsg.end_set_timeout=window.setTimeout(function(){var curKey=$('#win_cem_process_nav li.active').find('[data-collector-process]').attr('data-collector-process');if(collectorProcess==curKey){if(collectorEchoMsg.processes[collectorProcess].end){if(!endAll){statusFunc()}}}},interval*1000)}})};statusFunc()}},set_interval:function(num){ajaxOpen({type:'get',dataType:'json',async:!0,url:ulink('admin/collector/echo_msg?op=set_interval&interval=_num_',{'_num_':num}),success:function(data){ajaxDataMsg(data)}})},get_interval:function(){var interval=toInt(collectorEchoMsg.config.interval);interval=interval<=0?2:interval;return interval},stop_all:function(){var processes=collectorEchoMsg.processes;var cpKey='';if(processes){for(var key in processes){cpKey=key;collectorEchoMsg.stop_process(key)}}
if(collectorEchoMsg.end_set_timeout){window.clearTimeout(collectorEchoMsg.end_set_timeout)}
ajaxOpen({type:'get',url:ulink('admin/collector/echo_msg?op=stop&collector_process=_cpkey_',{'_cpkey_':cpKey}),dataType:'json',async:!0,success:function(data){}})},stop_process:function(collectorProcess){if(isObject(collectorEchoMsg.processes[collectorProcess])){collectorEchoMsg.processes[collectorProcess].end=1;if(collectorEchoMsg.processes[collectorProcess].read_ajax){collectorEchoMsg.processes[collectorProcess].read_ajax.abort()}
if(collectorEchoMsg.processes[collectorProcess].read_timeout){window.clearTimeout(collectorEchoMsg.processes[collectorProcess].read_timeout)}}}};var winBackstageTask={count:function(delay){delay=toInt(delay);var countFunc=function(){ajaxOpen({type:'get',dataType:'json',async:!0,url:ulink('admin/backstage/backstageTask?op=count'),success:function(data){if(data.code==1&&data.data){var count=toInt(data.data.count);count=count>0?count:'';$('#menu_backstage_task .label').text(count)}else{$('#menu_backstage_task .label').text('')}}})};if(delay>0){window.setTimeout(countFunc,delay)}else{countFunc()}},collected_set_timeout:null,init:function(){$('#win_backstage_task a[href^="#win_bk_tasks_nav_"]').bind('click',function(){var curTaskType=$($(this).attr('href')).attr('data-task-type');winBackstageTask.tasks(curTaskType)});$('#win_backstage_task a[href="#win_bk_tasks_nav_0"]').trigger('click');$('#myModal').on('hidden.bs.modal',function(e){winBackstageTask.count()})},tasks:function(taskType,url){$('#win_bk_tasks_nav_'+taskType).html('<div class="loading-sm"></div>');ajaxOpen({type:'get',dataType:'json',async:!0,url:(url?url:ulink('admin/backstage/backstageTask?op=tasks'+taskType)),success:function(data){if(data.code==1&&data.data){var count0=toInt(data.data.count0);var count1=toInt(data.data.count1);$('#win_backstage_task').find('a[href="#win_bk_tasks_nav_0"]').find('span').text(count0);$('#win_backstage_task').find('a[href="#win_bk_tasks_nav_1"]').find('span').text(count1);$('#win_backstage_task').find('a[href="#win_bk_tasks_nav_'+taskType+'"]').tab('show');$('#win_bk_tasks_nav_'+taskType).html(data.data.html)}else{$('#win_bk_tasks_nav_'+taskType).html('无任务')}
winBackstageTask.count();winBackstageTask.status()}})},init_tasks:function(taskType){taskType=toInt(taskType);$('#win_bk_tasks_box_'+(taskType==0?1:0)).html('');$('[id^="win_bk_tasks_box_"] a[data-parent^="#win_bk_tasks_box_"]').bind('click',function(){var curTaskId=$($(this).attr('href')).attr('data-task-id');var curTaskType=$(this).parents('[id^="win_bk_tasks_nav_"]').eq(0).attr('data-task-type');winBackstageTask.collected(curTaskId,curTaskType)});$('[id^="win_bk_tasks_box_"] .fa-remove').bind('click',function(){var obj=$(this);var curTaskId=$(this).attr('data-task-id');ajaxOpen({type:'get',dataType:'json',async:!0,url:ulink('admin/task/bkdelete?id='+curTaskId),success:function(data){obj.parents('.panel').remove();var spanObj=$('#win_backstage_task').find('a[href="#win_bk_tasks_nav_'+taskType+'"]').find('span');var spanCount=spanObj.text();spanCount=spanCount?parseInt(spanCount):0;spanCount=spanCount>0?(spanCount-1):0;spanObj.text(spanCount)}})});$('#win_bk_tasks_box_'+taskType+' .pagination').addClass('pagination-sm');$('#win_bk_tasks_box_'+taskType+' .pagination a').bind('click',function(){var curTaskType=$(this).parents('[id^="win_bk_tasks_nav_"]').eq(0).attr('data-task-type');winBackstageTask.tasks(curTaskType,$(this).attr('href'));return!1})},collected:function(taskId,taskType,url){if(!url){url=ulink('admin/backstage/backstageTask?op=collected&tid='+taskId)}
ajaxOpen({type:'get',dataType:'html',async:!0,url:url,success:function(data){$('#win_bk_collected_'+taskId).html(data)},complete:function(){if(!isNull(taskType)&&0==toInt(taskType)){winBackstageTask.collected_set_timeout=window.setTimeout(function(){var isEnd=$('#win_bk_tasks_box_0').find('a[href="#win_bk_collected_'+taskId+'"]').attr('data-is-end');var isVisible=$('#win_bk_tasks_box_0 #win_bk_collected_'+taskId).is(':visible');if(!isEnd&&isVisible){winBackstageTask.collected(taskId,taskType,url)}else{window.clearTimeout(winBackstageTask.collected_set_timeout)}},3000)}}})},init_collected:function(taskStatus,taskId){$('[id^="win_bk_collected_"] .pagination').addClass('pagination-sm');$('[id^="win_bk_collected_"] .pagination a').bind('click',function(){var curTaskId=$(this).parents('[id^="win_bk_collected_"]').eq(0).attr('data-task-id');var curTaskType=$(this).parents('[id^="win_bk_tasks_nav_"]').eq(0).attr('data-task-type');winBackstageTask.collected(curTaskId,curTaskType,$(this).attr('href'));return!1});if(taskStatus&&taskId){winBackstageTask.set_task_end(taskId,taskStatus);winBackstageTask.count();winBackstageTask.status()}},set_task_end:function(taskId,status){if(taskId&&status){$('#win_bk_tasks_box_0').find('a[href="#win_bk_collected_'+taskId+'"]').attr('data-is-end','1').find('.is_loading').html('<small>'+status+'</small>')}},status_set_timeout:null,status:function(isLoop){if(!isLoop){window.clearTimeout(winBackstageTask.status_set_timeout)}
var taskIds=[];$('#win_bk_tasks_box_0').find('[id^="win_bk_collected_"]').each(function(){var taskId=$(this).attr('data-task-id');taskIds.push(taskId)});if(taskIds.length>0){ajaxOpen({type:'post',dataType:'json',async:!0,data:{tids:taskIds},url:ulink('admin/backstage/backstageTask?op=status'),success:function(data){var statusList=data.data;if(isObject(statusList)){for(var tid in statusList){if(statusList[tid]){winBackstageTask.set_task_end(tid,statusList[tid])}}}
var isVisible=$('#win_bk_tasks_box_0').is(':visible');var isEnd=!0;$('#win_bk_tasks_box_0').find('a[href^="#win_bk_collected_"]').each(function(){if(!$(this).attr('data-is-end')){isEnd=!1;return!1}});if(!isEnd&&isVisible){winBackstageTask.status_set_timeout=window.setTimeout(function(){winBackstageTask.status(!0)},3000)}else{window.clearTimeout(winBackstageTask.status_set_timeout)}}})}}};function ajax_check_userpwd(ajaxSet){var oldSuccess=ajaxSet.success;ajaxSet.success=function(data){if(data.data&&data.data._check_pwd_){if(data.msg){toastr.error(data.msg)}
var msg='<div style="text-align:left;"><div style="margin-bottom:8px;">该操作需要验证您的登录密码</div>'+'<input class="form-control" type="password" id="confirm_ipt_check_pwd" placeholder="登录密码" />'+'<div class="checkbox" style="margin-bottom:0;"><label><input type="checkbox" value="1" id="confirm_ipt_check_skip" > 1小时内不再验证</label></div></div>';confirmRight({closeAfterFunc:!0,yes:'确定',no:'取消',msg:msg},function(){var ajaxSetData=isNull(ajaxSet.data)?{}:ajaxSet.data;var checkPwd=$('#confirm_ipt_check_pwd').val();var checkSkip=$('#confirm_ipt_check_skip').is(':checked')?1:'';if(typeof(ajaxSetData)=='object'){ajaxSetData._check_pwd_=checkPwd;ajaxSetData._check_skip_=checkSkip}else{ajaxSetData=ajaxSetData?(ajaxSetData+'&'):'';ajaxSetData+='_check_pwd_='+encodeURIComponent(checkPwd);ajaxSetData+='&_check_skip_='+encodeURIComponent(checkSkip)}
ajaxSet.data=ajaxSetData;ajaxSet.success=oldSuccess;ajax_check_userpwd(ajaxSet)});$('body').on('keyup','#confirm_ipt_check_pwd',function(event){if(event.keyCode=="13"){$('#confirm_right .cr-btn-yes').trigger("click")}})}else{if(oldSuccess&&typeof(oldSuccess)=='function'){oldSuccess(data)}}};ajaxOpen(ajaxSet)}
function editorCodeIfr(ifrEle,options){options=isObject(options)?options:{};if(options.set_value!=null&&typeof(options.set_value)!='undefined'){$(document).ready(function(){$(ifrEle).attr('src','');$(ifrEle).attr('src',ulink('develop/editor_code'));$(ifrEle).off('load').bind('load',function(){if(options.set_value&&$(ifrEle)[0].contentWindow.set_editor_code){$(ifrEle)[0].contentWindow.set_editor_code(options.set_value)}})})}else if(options.get_value){var ifrEle=$(ifrEle)[0];var val='';if(ifrEle&&ifrEle.contentWindow.get_editor_code){val=ifrEle.contentWindow.get_editor_code()}
return val}}