if(typeof __appinfo__ == 'undefined' || typeof __appinfo__ != 'object' || __appinfo__.hasOwnProperty('appname') == false){ alert('使用了统计,但未设定应用名称:app'); throw new Error('使用了统计,但未设定应用名称:app'); } function extend() { var length = arguments.length; var target = arguments[0] || {}; if (typeof target!="object" && typeof target != "function") { target = {}; } if (length == 1) { target = this; i--; } for (var i = 1; i < length; i++) { var source = arguments[i]; for (var key in source) { // 使用for in会遍历数组所有的可枚举属性,包括原型。 if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; } function loadJs(url, callback){ try{ var script = document.createElement('script'); script.type = "text/javascript"; script.async = 'async'; if (typeof(callback) != "undefined"){ if (script.readyState) { script.onreadystatechange = function(){ if (script.readyState == "loaded" || script.readyState == "complete"){ script.onreadystatechange = null; // alert(url); callback(); } } } else { script.onload = function(){ // alert(url); callback(); } } } script.src = url; document.body.appendChild(script); }catch(e){ console.log(e); } } function gen_uuid(){ return [__appinfo__.appname, new Date().getTime(), Math.floor(Math.random() * 1000000)].join('-'); } var __baseurl__ = 'https://zt.ycwb.com.cn/own/zstat/'; var __client_info__ = extend(__appinfo__, { uuid : gen_uuid(), // ip : '', // area : '', // appname : 'xxxxxxxx', url : window.location.href, time : new Date().getTime(), ending: true }); /*for(let field in __appinfo__){ __client_info__[field] = __appinfo__[field]; }*/ /*console.log('queryString == ', document.location.search); match_app = window.location.search.match(/\bapp=([\w\-\.]+)\b/); if(match_app){ __client_info__['appname'] = match_app[1]; }*/ // if(window.location.host == 'zt.ycwb.com'){ loadJs('https://pv.sohu.com/cityjson?ie=utf-8', function(){ // console.log('cityjson'); __client_info__['ip'] = returnCitySN['cip']; __client_info__['area'] = returnCitySN['cname']; // console.dir(__client_info__); }); loadJs(__baseurl__+'js/client.min.js', function(){ // console.log('client.min.js'); var client = new ClientJS(); __client_info__['is_mobile'] = client.isMobile(); __client_info__['is_iphone'] = client.isIphone(); __client_info__['is_android'] = client.isMobileAndroid(); __client_info__['os'] = client.getOS(); __client_info__['os_version'] = client.getOSVersion(); __client_info__['browser'] = client.getBrowser(); __client_info__['browser_version'] = client.getBrowserMajorVersion(); __client_info__['browser_engine'] = client.getEngine(); (function(counter){ // debugger; console.log('counter == ', counter); if(counter < 10){ if(__client_info__.hasOwnProperty('ip') == false || __client_info__['ip'] == ''){ var callee = arguments.callee; setTimeout(function(){ callee(counter+1); }, 1000); return false; } } // document.write(JSON.stringify(__client_info__)); // 每 10秒 统计 1 次,这样就可以记录大致时长 (function(){ __client_info__['time'] = new Date().getTime(); console.log(__client_info__); let url_arr = []; for(let field in __client_info__){ url_arr.push([field, encodeURIComponent(__client_info__[field])].join('=')); } stat_url = [__baseurl__+'index/stat/pv', url_arr.join('&')].join('?'); console.log(stat_url); loadJs(stat_url, function(){ console.log(__pv_info); }); // setTimeout(arguments.callee, 10000); })(); })(0); }); // } function pv_stat(){ __client_info__['time'] = new Date().getTime(); console.log(__client_info__); let url_arr = []; for(let field in __client_info__){ url_arr.push([field, encodeURIComponent(__client_info__[field])].join('=')); } stat_url = [__baseurl__+'index/stat/pv', url_arr.join('&')].join('?'); console.log(stat_url); loadJs(stat_url, function(){ console.log(__pv_info); }); } function wx_share_stat(share_response){ debugger; try { __client_info__['content'] = JSON.stringify(__share_config_base__); __client_info__['share_type'] = /onMenuShare(\w+)/i.exec(share_response.errMsg)[1]; let url_arr = []; for(let field in __client_info__){ url_arr.push([field, encodeURIComponent(__client_info__[field])].join('=')); } stat_url = [__baseurl__+'index/stat/wx_share', url_arr.join('&')].join('?'); console.log(stat_url); loadJs(stat_url, function(){ console.log(__wx_share_info); }); } catch(e) { // statements console.log(e); } }