function str2Obj(str){ var data = {}; kv = str.split('&'); for(i in kv){ v = kv[i].split('='); data[v[0]] = v[1]; } return data; } function wsPost(method, version, args,callback){ var loadT = layer.msg('正在获取...', { icon: 16, time: 0, shade: 0.3 }); var req_data = {}; req_data['name'] = 'webstats'; req_data['func'] = method; req_data['version'] = version; if (typeof(args) == 'string'){ req_data['args'] = JSON.stringify(str2Obj(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 wsPostCallbak(method, version, args,callback){ var loadT = layer.msg('正在获取...', { icon: 16, time: 0, shade: 0.3 }); var req_data = {}; req_data['name'] = 'webstats'; req_data['func'] = method; args['version'] = version; if (typeof(args) == 'string'){ req_data['args'] = JSON.stringify(str2Obj(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 makeHoursData(data, type="ip"){ var list = []; var rlist = []; for (var i = 0; i < 24; i++) { if (i<10){ list.push("0"+i) } else { list.push(i+"") } rlist.push(i+"") } var rdata = {}; rdata['key'] = rlist; var tmpdata = {}; for (var i = 0; i < data.length; i++) { var tk = data[i]['time']; tmpdata[tk] = data[i]; } var val = []; for (var i = 0; i < list.length; i++) { var tk = list[i]; if (tmpdata[tk]){ val.push(tmpdata[tk][type]); }else{ val.push(0); } } rdata['value'] = val; // console.log(rdata); return rdata } function makeDayData(data, type="ip") { var rdata = {}; var rdata_key = []; var rdata_val = []; for (var i = 0; i < data.length; i++) { var tk = data[i]['time']; rdata_key.push(tk); rdata_val.push(data[i][type]) } rdata['key'] = rdata_key; rdata['value'] = rdata_val; return rdata } function wsOverviewRequest(page){ var args = {}; args['site'] = $('select[name="site"]').val(); var query_date = 'today'; if ($('#time_choose').attr("data-name") != ''){ query_date = $('#time_choose').attr("data-name"); } else { query_date = $('#search_time button.cur').attr("data-name"); } args['query_date'] = query_date; args['order'] = $('#time_order button.cur').attr('data-name'); var select_option = $('.indicators-container input:checked').parent().attr('data-name'); if (select_option == 'realtime_traffic' || select_option == 'realtime_request'){ return; } console.log(select_option); wsPost('get_overview_list', '' ,args, function(rdata){ var rdata = $.parseJSON(rdata.data); var list = ''; var data = rdata.data.data; var statData = rdata.data.stat_list; console.log(statData, data); var stat_pv = statData['pv'] == null?0:statData['pv']; var stat_uv = statData['uv'] == null?0:statData['uv']; var stat_ip = statData['ip'] == null?0:statData['ip']; var stat_length = statData['length'] == null?0:statData['length']; var stat_req = statData['req'] == null?0:statData['req']; $('.overview_list .overview_box:eq(0) .ov_num').text(stat_pv); $('.overview_list .overview_box:eq(1) .ov_num').text(stat_uv); $('.overview_list .overview_box:eq(2) .ov_num').text(stat_ip); $('.overview_list .overview_box:eq(3) .ov_num').text(toSize(stat_length)); $('.overview_list .overview_box:eq(4) .ov_num').text(stat_req); var list = []; for (var i = 0; i < data.length; i++) { list.push(data[i][select_option]); } // console.log("list",list); var chat = {}; var is_compare = false; var tmpChatData = { "key":[], "value":[] } if (args['order'] == 'hour'){ tmpChatData = makeHoursData(data, select_option); } else { tmpChatData = makeDayData(data, select_option); } chat['yAxis'] = [{ type: 'value', splitNumber: 5, axisLabel: { textStyle: { color: '#a8aab0', fontStyle: 'normal', fontFamily: '微软雅黑', fontSize: 12, }, }, axisLine:{ show: false }, axisTick:{ show: false }, splitLine: { show: true, lineStyle: { color: '#E5E9ED' } } }]; chat['tooltip'] = { show:true, trigger: 'axis', backgroundColor: 'rgba(255,255,255,0.8)', axisPointer: { // 坐标轴指示器,坐标轴触发有效 type: 'line', // 默认为直线,可选为:'line' | 'shadow' lineStyle: { color: 'rgba(150,150,150,0.2)' } }, textStyle: { color: '#666', fontSize: '14px', }, extraCssText: 'width:220px;height:'+(is_compare?'30%':'22%')+';padding:0;box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);"', formatter: function (params) { var htmlStr = ""; for (var i = 0; i < params.length; i++) { var tem = params[i].name; var val = params[i].value; if(args['order'] == 'hour'){ if (tem.indexOf('/') < 0) { tem > 9 ? tem = tem + ":00 - " + tem + ":59" : tem = "0" + tem + ":00 - " + "0" + tem + ":59"; } val > 0 ? val = val : val = '--' } htmlStr += '
' + '' + '' + params[i].seriesName + '' + '' + val + '' + '
' } var res ='
' + tem + '' + (is_compare?trend_name:'') + '' + htmlStr + '
' return res; } } chat['legendData'] = ["PV浏览"]; var statEc = echarts.init(document.getElementById('total_num_echart')); var option = { tooltip:chat['tooltip'], backgroundColor:'#fff', legend:{ data:chat['legendData'], left:'center', top:'94%', }, grid: { bottom: '9%', containLabel: true, x: 20, y: 20, x2: 20, y2: 20 }, xAxis: { type: 'category', boundaryGap: false, boundaryGap: false, axisTick: { alignWithLabel: true }, data: tmpChatData["key"], }, yAxis: chat['yAxis'], graphic:[{ type: 'group', right: 330, top: 0, z: 100, children: [{ type: 'text', left: 'center', top: 'center', z: 100, style: { fill: '#ccc', text: args['site'], font: '16px Arial' } }] }], series: [ { data: tmpChatData["value"], type: 'line', smooth: true, itemStyle: { normal: { color:'#3A84FF', lineStyle: { color: "#3A84FF", width:1, }, areaStyle: { color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [{ offset: 0, color: 'rgba(58,132,255,0)' }, { offset: 1, color: 'rgba(58,132,255,0.35)' }]), } } }, areaStyle: {} } ] }; statEc.setOption(option); }); } function wsOverview(){ //////////////////////////////////////////////////////////////////////////////////////////////////////// var randstr = getRandomString(10); var html = '
\
\ 网站: \ \ 时间: \
\
\ \ \ \ \
\ \
\ 时段: \
\
\ \ \
\
\
\
\ \
\
\
\ \
\
\

浏览量(PV)?

\

0

\
\
\

访客量(UV)?

\

0

\
\
\

IP数?

\

0

\
\
\

流量?

\

0

\
\
\

请求?

\

0

\
\
\

实时流量?

\

0

\
\
\

每秒请求?

\

0

\
\
\
\
\ 趋势指标: \
\ \ 浏览量(PV)\
\
\ \ 访客量(UV)\
\
\ \ IP数\
\
\ \ 流量\
\
\ \ 请求\
\
\ \ 实时流量\
\
\ \ 每秒请求\
\
\
\
\
'; $(".soft-man-con").html(html); $('[data-toggle="tooltip"]').tooltip(); //日期范围 laydate.render({ elem: '#time_choose', value:'', range:true, done:function(value, startDate, endDate){ if(!value){ return false; } $('#search_time button').each(function(){ $(this).removeClass('cur'); }); var timeA = value.split('-') var start = $.trim(timeA[0]+'-'+timeA[1]+'-'+timeA[2]) var end = $.trim(timeA[3]+'-'+timeA[4]+'-'+timeA[5]) query_txt = toUnixTime(start + " 00:00:00") + "-"+ toUnixTime(end + " 00:00:00") $('#time_choose').attr("data-name",query_txt); $('#time_choose').addClass("cur"); wsOverviewRequest(1); }, }); $('#ov_refresh').click(function(){ wsOverviewRequest(1); }); $('#time_order button:eq(0)').addClass('cur'); $('#time_order button').click(function(){ $('#time_order button').each(function(){ if ($(this).hasClass('cur')){ $(this).removeClass('cur'); } }); $(this).addClass('cur'); wsOverviewRequest(1); }); $('#search_time button:eq(0)').addClass('cur'); $('#search_time button').click(function(){ $('#search_time button').each(function(){ if ($(this).hasClass('cur')){ $(this).removeClass('cur'); } }); $('#time_choose').attr("data-name",''); $('#time_choose').removeClass("cur"); $(this).addClass('cur'); wsOverviewRequest(1); }); $('.indicators-container input').click(function(){ $('.indicators-container input').each(function(){ $(this).removeAttr('checked'); }); $(this).prop({'checked':true}); //实时请求不会执行 wsOverviewRequest(1); //实时请求 var select_option = $(this).attr('data-name'); if (select_option == 'realtime_traffic' || select_option == 'realtime_request'){ return; } }); wsPost('get_default_site','',{},function(rdata){ $('select[name="site"]').html(''); var rdata = $.parseJSON(rdata.data); var rdata = rdata.data; var default_site = rdata["default"]; var select = ''; for (var i = 0; i < rdata["list"].length; i++) { if (default_site == rdata["list"][i]){ select += ''; } else{ select += ''; } } $('select[name="site"]').html(select); wsOverviewRequest(1); $('select[name="site"]').change(function(){ wsOverviewRequest(1); }); }); //////////////////////////////////////////////////////////////////////////////////////////////////////// } function wsSitesList(){ } function wsSpiderStatLogRequest(page){ var args = {}; args['page'] = page; args['page_size'] = 10; args['site'] = $('select[name="site"]').val(); args['status_code'] = $('select[name="status_code"]').val(); var query_date = 'today'; if ($('#time_choose').attr("data-name") != ''){ query_date = $('#time_choose').attr("data-name"); } else { query_date = $('#search_time button.cur').attr("data-name"); } args['query_date'] = query_date; args['tojs'] = 'wsSpiderStatLogRequest'; wsPost('get_spider_stat_list', '' ,args, function(rdata){ var rdata = $.parseJSON(rdata.data); var list = ''; var data = rdata.data.data; if (data.length > 0){ for(i in data){ list += ''; list += '' + data[i]['time']+''; list += '' + data[i]['baidu'] +''; list += '' + data[i]['bing'] +''; list += '' + data[i]['qh360'] +''; list += '' + data[i]['google'] +''; list += '' + data[i]['bytes'] +''; list += '' + data[i]['sogou'] +''; list += '' + data[i]['soso'] +''; list += '' + data[i]['youdao'] +''; list += '' + data[i]['youdao'] +''; list += '' + data[i]['dnspod'] +''; list += '' + data[i]['yandex'] +''; list += '' + data[i]['other'] +''; list += '' + data[i]['other'] +''; list += ''; } } else{ list += '蜘蛛列表为空'; } var table = '
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\ \ '+ list +'\
日期百度必应奇虎360Google头条搜狗搜搜神马有道DNSPODYandex其他 ?操作
\
\
'; $('#ws_table').html(table); $('#wsPage').html(rdata.data.page); $('[data-toggle="tooltip"]').tooltip(); var sumData = rdata.data.sum_data; var percent = ((sumData.spider/sumData.reqest_total)*100).toFixed(); $('#spider_left_total .request_spider').text(sumData.spider+"("+percent+"%)"); $('#spider_left_total .request_total').text(sumData.reqest_total); // 图形化 var initData = rdata.data.stat_list; var colorList = ['#6ec71e','#4885FF']; var source_name = {baidu:'百度',google:'Google',bytes:'头条',soso:'搜搜',bing:'必应',qh360:'奇虎360',youdao:'有道',yandex:'Yandex',dnspod:'DNSPOD',mpcrawler:'mpcrawler',other:'其他',}; var lenend2_obj = {}; var rightEc = echarts.init(document.getElementById('echart_right_total')); var xAxixName = $('#search_time button.cur').text(); var is_compare = false; var lenend = []; var serData = []; for(var i = 0;i (is_compare?2:4)) { lenend2_obj[lenend[i]] = false; } else { lenend2_obj[lenend[i]] = true; } } var rightOption = { backgroundColor:'#fff', tooltip: { trigger: 'axis', axisPointer: { type: 'shadow' , textStyle: { color: '#fff', fontSize: '26' }, } }, legend: { top:'0%', data: lenend, selected:lenend2_obj, textStyle:{ fontSize:12, color:'#808080' }, icon:'rect' }, grid: { top:60, left:60, right:0, bottom:50 }, xAxis: [{ type: 'category', axisLabel:{ color:'#4D4D4D', fontSize:14, fontWeight:'bold' }, data: [xAxixName], }], color:['#4fa8f9', '#6ec71e', '#f56e6a', '#fc8b40', '#818af8', '#31c9d7', '#f35e7a', '#ab7aee', '#14d68b', '#cde5ff'], yAxis: [{ type: 'value', axisLine: { show: false, }, axisTick: { show: false }, splitNumber:4, //y轴分割线数量 axisLabel:{ color:'#8C8C8C' }, splitLine:{ lineStyle:{ type:'dashed' } } }], series: serData } rightEc.setOption(rightOption); var oop = lenend.slice(0, (is_compare?3:5)); rightEc.on('legendselectchanged', function (params) { var legend_option = this.getOption(),newAxisName = []; $.each(legend_option['xAxis'][0]['data'],function(index,item){ newAxisName.push(item.replace(/\([^\)]*\)/g,"")) }) legend_option['xAxis'][0]['data'] = newAxisName; var num = 0; for(var e in params.selected){ if(params.selected.hasOwnProperty(e)){ params.selected[e]? num++ : ''; } } if(num > (is_compare?3:5)){ oop.push(params.name) } if (num > (is_compare?3:5)) { var hah = oop.slice(oop.length - (is_compare?4:6), oop.length - (is_compare?3:4))[0] + ''; legend_option.legend[0].selected[hah] = false; } if (num < 1){ legend_option.legend[0].selected[params.name] = true; } this.setOption(legend_option); }); }); } function wsSpiderStat(){ //////////////////////////////////////////////////////////////////////////////////////////////////////// var randstr = getRandomString(10); var html = '
\
\ 网站: \ \ 时间: \
\
\ \ \ \ \
\ \
\
\
\
\

总蜘蛛

0

\

总请求

0

\
\
\
\
\
'; $(".soft-man-con").html(html); //日期范围 laydate.render({ elem: '#time_choose', value:'', range:true, done:function(value, startDate, endDate){ if(!value){ return false; } $('#search_time button').each(function(){ $(this).removeClass('cur'); }); var timeA = value.split('-') var start = $.trim(timeA[0]+'-'+timeA[1]+'-'+timeA[2]) var end = $.trim(timeA[3]+'-'+timeA[4]+'-'+timeA[5]) query_txt = toUnixTime(start + " 00:00:00") + "-"+ toUnixTime(end + " 00:00:00") $('#time_choose').attr("data-name",query_txt); $('#time_choose').addClass("cur"); wsSpiderStatLogRequest(1); }, }); $('#search_time button:eq(0)').addClass('cur'); $('#search_time button').click(function(){ $('#search_time button').each(function(){ if ($(this).hasClass('cur')){ $(this).removeClass('cur'); } }); $('#time_choose').attr("data-name",''); $('#time_choose').removeClass("cur"); $(this).addClass('cur'); wsSpiderStatLogRequest(1); }); $('select[name="status_code"]').change(function(){ wsSpiderStatLogRequest(1); }); wsPost('get_default_site','',{},function(rdata){ $('select[name="site"]').html(''); var rdata = $.parseJSON(rdata.data); var rdata = rdata.data; var default_site = rdata["default"]; var select = ''; for (var i = 0; i < rdata["list"].length; i++) { if (default_site == rdata["list"][i]){ select += ''; } else{ select += ''; } } $('select[name="site"]').html(select); wsSpiderStatLogRequest(1); $('select[name="site"]').change(function(){ wsSpiderStatLogRequest(1); }); }); //////////////////////////////////////////////////////////////////////////////////////////////////////// } function wsClientStatLogRequest(page){ var args = {}; args['page'] = page; args['page_size'] = 10; args['site'] = $('select[name="site"]').val(); args['status_code'] = $('select[name="status_code"]').val(); var query_date = 'today'; if ($('#time_choose').attr("data-name") != ''){ query_date = $('#time_choose').attr("data-name"); } else { query_date = $('#search_time button.cur').attr("data-name"); } args['query_date'] = query_date; args['tojs'] = 'wsClientStatLogRequest'; wsPost('get_client_stat_list', '' ,args, function(rdata){ var rdata = $.parseJSON(rdata.data); var list = ''; var data = rdata.data.data; if (data.length > 0){ for(i in data){ list += ''; list += '' + data[i]['time']+''; list += '' + data[i]['android'] +''; list += '' + data[i]['iphone'] +''; list += '' + data[i]['windows'] +''; list += '' + data[i]['chrome'] +''; list += '' + data[i]['weixin'] +''; list += '' + data[i]['qh360'] +''; list += '' + data[i]['edeg'] +''; list += '' + data[i]['firefox'] +''; list += '' + data[i]['safari'] +''; list += '' + data[i]['mac'] +''; list += '' + data[i]['msie'] +''; list += '' + data[i]['machine'] +''; list += '' + data[i]['other'] +''; list += ''; } } else{ list += '客服端列表为空'; } var table = '
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\ \ '+ list +'\
日期安桌iOSWindowsChrome微信360Edge火狐SafariMacIE机器 ?其他
\
\
'; $('#ws_table').html(table); $('#wsPage').html(rdata.data.page); $('[data-toggle="tooltip"]').tooltip(); // 图形化 var initData = rdata.data.stat_list; var sumData = rdata.data.sum_data; var colorList = ['#6ec71e','#4885FF']; var source_name = {android:'安卓',iphone:'iOS',windows:'Windows',chrome:'Chrome',weixin:'微信',qh360:'360',edeg:'Edge',firefox:'火狐',safari:'Safari',mac:'Mac',linux:'Linux',msie:'IE',metasr:'搜狗',theworld:'世界之窗',tt:'腾讯TT',maxthon:'遨游',opera:'Opera',qq:'QQ浏览器',uc:'UC',pc2345:'2345',other:'其他',machine:'Machine'}; var lenend2_obj = {}; var leftEc = echarts.init(document.getElementById('echart_left_total')); var rightEc = echarts.init(document.getElementById('echart_right_total')); var datas = [ { value: sumData.pc, name: 'PC客服端' }, { value: sumData.mobile, name: '移动客服端' }, ]; var leftOption = { backgroundColor:'#fff', title: { text: sumData.reqest_total, textStyle: { color: '#484848', fontSize: 17 }, subtext: '总请求数', subtextStyle: { color: '#717171', fontSize: 15 }, itemGap: 20, left: 'center', top: '42%' }, tooltip: { trigger: 'item' }, series: [{ type: 'pie', radius: ['45%', '55%'], center: ["50%", "50%"], clockwise: true, avoidLabelOverlap: false, hoverOffset: 15, itemStyle: { normal: { label: { show: true, position: 'outside', color: '#666', formatter: function(params) { var percent = 0; var total = 0; for (var i = 0; i < datas.length; i++) { total += datas[i].value; } if(params.name !== '') { return params.name + '\n' + '\n' + params.value + '/次'; }else { return ''; } }, }, labelLine: { length: 20, length2: 10 }, color: function(params) { return colorList[params.dataIndex] } } }, data: datas },{ itemStyle: { normal: { color: '#F5F6FA', } }, type: 'pie', hoverAnimation: false, radius: ['42%', '58%'], center: ["50%", "50%"], label: { normal: { show:false, } }, data: [], z:-1 }] } leftEc.setOption(leftOption); var xAxixName = $('#search_time button.cur').text(); var is_compare = false; var lenend = []; var serData = []; for(var i = 0;i (is_compare?2:4)) { lenend2_obj[lenend[i]] = false; } else { lenend2_obj[lenend[i]] = true; } } var rightOption = { backgroundColor:'#fff', tooltip: { trigger: 'axis', axisPointer: { type: 'shadow' , textStyle: { color: '#fff', fontSize: '26' }, } }, legend: { top:'0%', data: lenend, selected:lenend2_obj, textStyle:{ fontSize:12, color:'#808080' }, icon:'rect' }, grid: { top:60, left:60, right:0, bottom:50 }, xAxis: [{ type: 'category', axisLabel:{ color:'#4D4D4D', fontSize:14, fontWeight:'bold' }, data: [xAxixName], }], color:['#4fa8f9', '#6ec71e', '#f56e6a', '#fc8b40', '#818af8', '#31c9d7', '#f35e7a', '#ab7aee', '#14d68b', '#cde5ff'], yAxis: [{ type: 'value', axisLine: { show: false, }, axisTick: { show: false }, splitNumber:4, //y轴分割线数量 axisLabel:{ color:'#8C8C8C' }, splitLine:{ lineStyle:{ type:'dashed' } } }], series: serData } rightEc.setOption(rightOption); var oop = lenend.slice(0, (is_compare?3:5)); rightEc.on('legendselectchanged', function (params) { var legend_option = this.getOption(),newAxisName = []; $.each(legend_option['xAxis'][0]['data'],function(index,item){ newAxisName.push(item.replace(/\([^\)]*\)/g,"")) }) legend_option['xAxis'][0]['data'] = newAxisName; var num = 0; for(var e in params.selected){ if(params.selected.hasOwnProperty(e)){ params.selected[e]? num++ : ''; } } if(num > (is_compare?3:5)){ oop.push(params.name) } if (num > (is_compare?3:5)) { var hah = oop.slice(oop.length - (is_compare?4:6), oop.length - (is_compare?3:4))[0] + ''; legend_option.legend[0].selected[hah] = false; } if (num < 1){ legend_option.legend[0].selected[params.name] = true; } this.setOption(legend_option) }); }); } function wsClientStat(){ //////////////////////////////////////////////////////////////////////////////////////////////////////// var randstr = getRandomString(10); var html = '
\
\ 网站: \ \ 时间: \
\
\ \ \ \ \
\ \
\
\
\
\
\
\
\
'; $(".soft-man-con").html(html); //日期范围 laydate.render({ elem: '#time_choose', value:'', range:true, done:function(value, startDate, endDate){ if(!value){ return false; } $('#search_time button').each(function(){ $(this).removeClass('cur'); }); var timeA = value.split('-') var start = $.trim(timeA[0]+'-'+timeA[1]+'-'+timeA[2]) var end = $.trim(timeA[3]+'-'+timeA[4]+'-'+timeA[5]) query_txt = toUnixTime(start + " 00:00:00") + "-"+ toUnixTime(end + " 00:00:00") $('#time_choose').attr("data-name",query_txt); $('#time_choose').addClass("cur"); wsClientStatLogRequest(1); }, }); $('#search_time button:eq(0)').addClass('cur'); $('#search_time button').click(function(){ $('#search_time button').each(function(){ if ($(this).hasClass('cur')){ $(this).removeClass('cur'); } }); $('#time_choose').attr("data-name",''); $('#time_choose').removeClass("cur"); $(this).addClass('cur'); wsClientStatLogRequest(1); }); $('select[name="status_code"]').change(function(){ wsClientStatLogRequest(1); }); wsPost('get_default_site','',{},function(rdata){ $('select[name="site"]').html(''); var rdata = $.parseJSON(rdata.data); var rdata = rdata.data; var default_site = rdata["default"]; var select = ''; for (var i = 0; i < rdata["list"].length; i++) { if (default_site == rdata["list"][i]){ select += ''; } else{ select += ''; } } $('select[name="site"]').html(select); wsClientStatLogRequest(1); $('select[name="site"]').change(function(){ wsClientStatLogRequest(1); }); }); //////////////////////////////////////////////////////////////////////////////////////////////////////// } function wsTableErrorLogRequest(page){ var args = {}; args['page'] = page; args['page_size'] = 10; args['site'] = $('select[name="site"]').val(); args['status_code'] = $('select[name="status_code"]').val(); var query_date = 'today'; if ($('#time_choose').attr("data-name") != ''){ query_date = $('#time_choose').attr("data-name"); } else { query_date = $('#search_time button.cur').attr("data-name"); } args['query_date'] = query_date; args['tojs'] = 'wsTableErrorLogRequest'; wsPost('get_logs_error_list', '' ,args, function(rdata){ var rdata = $.parseJSON(rdata.data); var list = ''; var data = rdata.data.data; if (data.length > 0){ for(i in data){ list += ''; list += '' + getLocalTime(data[i]['time'])+''; list += '' + data[i]['domain'] +''; list += '' + data[i]['ip'] +''; list += '' + toSize(data[i]['body_length']) +''; list += '' + data[i]['request_time'] +'ms'; list += '' + data[i]['uri'] +''; list += '' + data[i]['status_code']+'/' + data[i]['method'] +''; list += '详情'; list += ''; } } else{ list += '错误日志为空'; } var table = '
\ \ \ \ \ \ \ \ \ \ \ \ '+ list +'\
时间域名IP响应耗时URL状态/类型操作
\
\
'; $('#ws_table').html(table); $('#wsPage').html(rdata.data.page); $(".tablescroll .details").click(function(){ var index = $(this).attr('data-id'); var res = data[index]; layer.open({ type: 1, title: "【"+res.domain + "】详情信息", area: '600px', closeBtn: 2, shadeClose: false, content: '
\
\ \ \ \\
时间' + getLocalTime(res.time) + '真实IP' + res.ip + '客户端端口'+(res.client_port>0 && res.client_port != ''?res.client_port:'')+'
类型' + res.method + '状态' + res.status_code + '响应大小' + toSize(res.body_length) + '
\
协议
\
' + res.protocol + '
\
URL
\
' + $('
').text(res.uri).html() + '
\
完整IP列表
\
' + $('
').text(res.ip_list).html() + '
\
来路
\
' + $('
').text(res.referer == null ?'None':res.referer).html() + '
\
User-Agent
\
' + $('
').text(res.user_agent).html() + '
\
处理耗时
\
' +res.request_time + ' ms
\
', }); }); }); } function wsSitesErrorLog(){ //////////////////////////////////////////////////////////////////////////////////////////////////////// var randstr = getRandomString(10); var html = '
\
\ 网站: \ \ 状态码: \ \ 时间: \
\
\ \ \ \ \
\ \
\
\
\
'; $(".soft-man-con").html(html); //日期范围 laydate.render({ elem: '#time_choose', value:'', range:true, done:function(value, startDate, endDate){ if(!value){ return false; } $('#search_time button').each(function(){ $(this).removeClass('cur'); }); var timeA = value.split('-') var start = $.trim(timeA[0]+'-'+timeA[1]+'-'+timeA[2]) var end = $.trim(timeA[3]+'-'+timeA[4]+'-'+timeA[5]) query_txt = toUnixTime(start + " 00:00:00") + "-"+ toUnixTime(end + " 00:00:00") $('#time_choose').attr("data-name",query_txt); $('#time_choose').addClass("cur"); wsTableErrorLogRequest(1); }, }); $('#search_time button:eq(0)').addClass('cur'); $('#search_time button').click(function(){ $('#search_time button').each(function(){ if ($(this).hasClass('cur')){ $(this).removeClass('cur'); } }); $('#time_choose').attr("data-name",''); $('#time_choose').removeClass("cur"); $(this).addClass('cur'); wsTableErrorLogRequest(1); }); $('select[name="status_code"]').change(function(){ wsTableErrorLogRequest(1); }); wsPost('get_default_site','',{},function(rdata){ $('select[name="site"]').html(''); var rdata = $.parseJSON(rdata.data); var rdata = rdata.data; var default_site = rdata["default"]; var select = ''; for (var i = 0; i < rdata["list"].length; i++) { if (default_site == rdata["list"][i]){ select += ''; } else{ select += ''; } } $('select[name="site"]').html(select); wsTableErrorLogRequest(1); $('select[name="site"]').change(function(){ wsTableErrorLogRequest(1); }); }); //////////////////////////////////////////////////////////////////////////////////////////////////////// } function wsTableLogRequest(page){ var args = {}; args['page'] = page; args['page_size'] = 10; args['site'] = $('select[name="site"]').val(); args['method'] = $('select[name="method"]').val(); args['status_code'] = $('select[name="status_code"]').val(); args['spider_type'] = $('select[name="spider_type"]').val(); var query_date = 'today'; if ($('#time_choose').attr("data-name") != ''){ query_date = $('#time_choose').attr("data-name"); } else { query_date = $('#search_time button.cur').attr("data-name"); } args['query_date'] = query_date; // console.log("query_date:",query_date); var search_uri = $('input[name="search_uri"]').val(); args['search_uri'] = search_uri; args['tojs'] = 'wsTableLogRequest'; wsPost('get_logs_list', '' ,args, function(rdata){ var rdata = $.parseJSON(rdata.data); var list = ''; var data = rdata.data.data; if (data.length > 0){ for(i in data){ list += ''; list += '' + getLocalTime(data[i]['time'])+''; list += '' + data[i]['domain'] +''; list += '' + data[i]['ip'] +''; list += '' + toSize(data[i]['body_length']) +''; list += '' + data[i]['request_time'] +'ms'; list += '' + data[i]['uri'] +''; list += '' + data[i]['status_code']+'/' + data[i]['method'] +''; list += '详情'; list += ''; } } else{ list += '网站日志为空'; } var table = '
\ \ \ \ \ \ \ \ \ \ \ \ '+ list +'\
时间域名IP响应耗时URL状态/类型操作
\
\
'; $('#ws_table').html(table); $('#wsPage').html(rdata.data.page); $(".tablescroll .details").click(function(){ var index = $(this).attr('data-id'); var res = data[index]; layer.open({ type: 1, title: "【"+res.domain + "】详情信息", area: '600px', closeBtn: 2, shadeClose: false, content: '
\
\ \ \ \\
时间' + getLocalTime(res.time) + '真实IP' + res.ip + '客户端端口'+(res.client_port>0 && res.client_port != ''?res.client_port:'')+'
类型' + res.method + '状态' + res.status_code + '响应大小' + toSize(res.body_length) + '
\
协议
\
' + res.protocol + '
\
URL
\
' + $('
').text(res.uri).html() + '
\
完整IP列表
\
' + $('
').text(res.ip_list).html() + '
\
来路
\
' + $('
').text(res.referer == null ?'None':res.referer).html() + '
\
User-Agent
\
' + $('
').text(res.user_agent).html() + '
\
处理耗时
\
' +res.request_time + ' ms
\
', }); }); }); } function wsSitesLog(){ //////////////////////////////////////////////////////////////////////////////////////////////////////// var randstr = getRandomString(10); var html = '
\
\ 网站: \ \ 时间: \
\
\ \ \ \ \
\ \
\
\
\ 请求类型: \ \ 状态码: \ \ 蜘蛛过滤: \ \ URL过滤: \
\ \
\ \
\
\
\
\
'; $(".soft-man-con").html(html); //日期范围 laydate.render({ elem: '#time_choose', value:'', range:true, done:function(value, startDate, endDate){ if(!value){ return false; } $('#search_time button').each(function(){ $(this).removeClass('cur'); }); var timeA = value.split('-') var start = $.trim(timeA[0]+'-'+timeA[1]+'-'+timeA[2]) var end = $.trim(timeA[3]+'-'+timeA[4]+'-'+timeA[5]) query_txt = toUnixTime(start + " 00:00:00") + "-"+ toUnixTime(end + " 00:00:00") $('#time_choose').attr("data-name",query_txt); $('#time_choose').addClass("cur"); wsTableLogRequest(1); }, }); $('#search_time button:eq(0)').addClass('cur'); $('#search_time button').click(function(){ $('#search_time button').each(function(){ if ($(this).hasClass('cur')){ $(this).removeClass('cur'); } }); $('#time_choose').attr("data-name",''); $('#time_choose').removeClass("cur"); $(this).addClass('cur'); wsTableLogRequest(1); }); $('select[name="method"]').change(function(){ wsTableLogRequest(1); }); $('select[name="status_code"]').change(function(){ wsTableLogRequest(1); }); $('select[name="spider_type"]').change(function(){ wsTableLogRequest(1); }); $('#logs_search').click(function(){ wsTableLogRequest(1); }); wsPost('get_default_site','',{},function(rdata){ $('select[name="site"]').html(''); var rdata = $.parseJSON(rdata.data); var rdata = rdata.data; var default_site = rdata["default"]; var select = ''; for (var i = 0; i < rdata["list"].length; i++) { if (default_site == rdata["list"][i]){ select += ''; } else{ select += ''; } } $('select[name="site"]').html(select); wsTableLogRequest(1); $('select[name="site"]').change(function(){ wsTableLogRequest(1); }); }); //////////////////////////////////////////////////////////////////////////////////////////////////////// }