app_log.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. // JavaScript Document
  2. var logUa=window.navigator.userAgent.toLowerCase();
  3. $(function(){
  4. applog([801]);
  5. //书籍点击行为记录
  6. $(document).delegate('.section-data', 'click', function () {
  7. var data = {};
  8. data.url = window.location.href;
  9. var list = ['book_id', 'zone', 'activity_id'];
  10. var that = $(this);
  11. $.each(list, function (k, v) {
  12. if (that.data(v) !== undefined) {
  13. data[v] = that.data(v);
  14. } else {
  15. data[v] = '';
  16. }
  17. });
  18. if (that.data('adid') !== undefined) {
  19. data.adid = that.data('adid');
  20. } else{
  21. var section = $(this).closest('.section-block');
  22. if (section.data('swiper-slide-index') !== undefined) {
  23. data.adid = section.data('swiper-slide-index');
  24. }else{
  25. data.adid = section.index();
  26. }
  27. }
  28. applog([802, data, data.zone, data.adid]);
  29. console.log(data);
  30. });
  31. });
  32. function getBrowser(){
  33. //1是ios 2是android 3其他
  34. if (/iphone|ipad|ipod/.test(logUa)) {
  35. return 1;
  36. } else if (/android|adr/.test(logUa)) {
  37. return 2;
  38. }else{
  39. return 3;
  40. }
  41. }
  42. function getAmbient(){
  43. //1微信 2qq 3其他
  44. if (/micromessenger/.test(logUa)) {
  45. return 1;
  46. } else if (/\sqq\//.test(logUa)) {
  47. return 2;
  48. }else{
  49. return 3;
  50. }
  51. }
  52. function getPageName(){
  53. //当前页面name 无就返回''
  54. var logPathname = window.location.pathname,spname='';
  55. if(logPathname.length>1){
  56. spname = logPathname.substring(logPathname.lastIndexOf('/')+1,logPathname.length);
  57. }
  58. return spname;
  59. }
  60. //判断网络链接环境
  61. function checkConnection(ua){
  62. var arra = ['wifi','4g','3g','2g'];
  63. for(var check in arra){
  64. if(ua.indexOf(arra[check]) > -1){
  65. return arra[check];
  66. }
  67. }
  68. return 'other'
  69. }
  70. //applog([801]);
  71. //applog([802,{map},zone, aid]);
  72. //applog([803,{map},event]);
  73. function applog(arr){
  74. var logPathname = window.location.pathname.toLowerCase();
  75. var logUserId = $.fn.cookie("uid");
  76. var logUaCookie = $.fn.cookie("visitor");
  77. var logAdminId = document.domain;
  78. var logsearch = window.location.search;
  79. var snetwork = checkConnection(logUa);
  80. logsearch = logsearch.substring(1,logsearch.length);
  81. var logData={
  82. tag:arr[0],
  83. 'theme':'clientweb',
  84. "uid":logUserId || '',
  85. "openid":$.fn.cookie("token")||'',
  86. "vt":$.fn.cookie("visitor")||'',
  87. 'os':getBrowser(),
  88. 'page':logPathname,
  89. "ctx":getAmbient(),
  90. "host": document.domain,
  91. 'admin_id':($.fn.cookie('agent_id') && $.fn.cookie('agent_id') != '0')?$.fn.cookie('agent_id'):($.fn.cookie('channel_id')||''),
  92. 'channel_id':$.fn.cookie('channel_id')||'',
  93. 'agent_id':$.fn.cookie('agent_id')||'',
  94. 'query':logsearch,
  95. "map":{}
  96. }
  97. logData.network = snetwork;
  98. var regpage = /\/index\/book\/chapter|\/index\/book\/info|\/index\/book\/menu/;
  99. if(logData.tag == 801 && regpage.test(logData.page) && arr.length < 2){
  100. return false;
  101. }
  102. for(var logkey in arr[1]){
  103. logData[logkey] = arr[1][logkey];
  104. }
  105. if (logData.tag == 801) {
  106. //pv打点
  107. console.log(JSON.stringify(logData));
  108. if (window.cps !== undefined) {
  109. window.cps.logPv(logData.page, '', JSON.stringify(logData));
  110. }
  111. }
  112. if(logData.tag==802){
  113. //click打点
  114. logData['zone']=arr[2];
  115. logData['aid']=arr[3];
  116. console.log(JSON.stringify(logData));
  117. if (window.cps !== undefined) {
  118. window.cps.logClick(logData.page, logData['zone'], logData['aid'], '', JSON.stringify(logData));
  119. }
  120. }
  121. if(logData.tag==803){
  122. //event自定义事件打点
  123. logData['event']=arr[2];
  124. console.log(JSON.stringify(logData));
  125. if (window.cps !== undefined) {
  126. window.cps.logEvent(logData['event'], '', JSON.stringify(logData));
  127. }
  128. }
  129. }
  130. function getQueryString(name) {
  131. var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
  132. var r = window.location.search.substr(1).match(reg);
  133. if (r != null) {
  134. return unescape(r[2]);
  135. }
  136. return null;
  137. };