costway-tracking-v2 2.0.4 → 2.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.cjs CHANGED
@@ -53,11 +53,11 @@ function getSession() {
53
53
  sessionMap[`${referrerTag}_${currentUTM}`] = newSessionId;
54
54
  localStorage.setItem("cgs_sessionMap", JSON.stringify(sessionMap));
55
55
  }
56
- if (isSessionTimedOut) {
57
- newSessionId = generateUUID();
58
- sessionMap[`${referrerTag}_${currentUTM}`] = newSessionId;
59
- localStorage.setItem("cgs_sessionMap", JSON.stringify(sessionMap));
60
- }
56
+ // if (isSessionTimedOut) {
57
+ // newSessionId = generateUUID();
58
+ // sessionMap[`${referrerTag}_${currentUTM}`] = newSessionId;
59
+ // localStorage.setItem("cgs_sessionMap", JSON.stringify(sessionMap));
60
+ // }
61
61
  let newSession = {
62
62
  id: newSessionId,
63
63
  startTime: now,
@@ -415,64 +415,60 @@ let pageHiddenTime = null;
415
415
  let pageVisibleTime = null;
416
416
  module.exports = {
417
417
  initTracking: function (router) {
418
+ // 如果 UA 里包含 costway-app
419
+ const app = typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().includes("costway-app");
418
420
 
419
421
  let userId = getuserId();
420
422
  if (!userId) {
421
423
  userId = generateUUID();
422
424
  setuserId(userId);
423
425
  }
424
- trackPageView();
426
+ !app && trackPageView();
425
427
  //trackPageLoadTime();
426
428
  // trackResourceLoadTimes();
427
429
  document.addEventListener('click', trackClick);
428
430
 
429
- document.addEventListener('visibilitychange', function () {
430
- if (lastVisibilityState) {
431
- if (document.visibilityState === 'hidden' || document.hidden) {
432
- console.log('hidden');
433
- // 页面从可见变为不可见,记录时间
434
- pageHiddenTime = new Date().getTime();
435
- const visibleDuration = new Date().getTime() - pageVisibleTime;
436
- if (hasTrackedPageLeave == "" || hasTrackedPageLeave == "hidden") {
437
- hasTrackedPageLeave = "hidden";
438
- trackPageLeave('hidden');
439
- }
440
- } else if (document.visibilityState === 'visible' && pageHiddenTime) {
441
- // 页面从不可见变为可见,计算隐藏的时长
442
- const hiddenDuration = new Date().getTime() - pageHiddenTime;
443
- pageHiddenTime = null;
444
- pageVisibleTime = new Date().getTime();
445
- // 如果页面隐藏的时长超过一定阈值(例如30秒),则认为用户已离开页面
446
- if (hiddenDuration > 30000) {
447
- trackPageLeave("visible");
431
+ if(!app){
432
+ document.addEventListener('visibilitychange', function () {
433
+ if (lastVisibilityState) {
434
+ if (document.visibilityState === 'hidden' || document.hidden) {
435
+ console.log('hidden');
436
+ // 页面从可见变为不可见,记录时间
437
+ pageHiddenTime = new Date().getTime();
438
+ const visibleDuration = new Date().getTime() - pageVisibleTime;
439
+ if (hasTrackedPageLeave == "" || hasTrackedPageLeave == "hidden") {
440
+ hasTrackedPageLeave = "hidden";
441
+ trackPageLeave('hidden');
442
+ }
443
+ } else if (document.visibilityState === 'visible' && pageHiddenTime) {
444
+ // 页面从不可见变为可见,计算隐藏的时长
445
+ const hiddenDuration = new Date().getTime() - pageHiddenTime;
446
+ pageHiddenTime = null;
447
+ pageVisibleTime = new Date().getTime();
448
+ // 如果页面隐藏的时长超过一定阈值(例如30秒),则认为用户已离开页面
449
+ if (hiddenDuration > 30000) {
450
+ trackPageLeave("visible");
451
+ }
452
+ // 触发 pageView 事件
453
+ trackPageView();
448
454
  }
449
- // 触发 pageView 事件
450
- trackPageView();
451
455
  }
452
- }
453
- lastVisibilityState = document.visibilityState;
454
- });
455
- // window.addEventListener('beforeunload', function () {
456
- // console.log('beforeunload');
457
- // if(!hasTrackedPageLeave){
458
- // hasTrackedPageLeave = true;
459
- // trackPageLeave('beforeunload');
460
- // }
461
-
462
- // });
463
- window.addEventListener('pagehide', function () {
464
- console.log('pagehide');
465
- if (hasTrackedPageLeave == "pagehide") {
466
- hasTrackedPageLeave = "pagehide";
467
- trackPageLeave('pagehide');
468
- }
469
-
470
- });
471
- window.addEventListener('DOMContentLoaded', function () {
472
- observeDomChanges();
473
- observeClassChanges();
474
- });
475
- window.addEventListener('load', function () { setTimeout(trackPageLoadTime, 0); });
456
+ lastVisibilityState = document.visibilityState;
457
+ });
458
+ window.addEventListener('pagehide', function () {
459
+ console.log('pagehide');
460
+ if (hasTrackedPageLeave == "pagehide") {
461
+ hasTrackedPageLeave = "pagehide";
462
+ trackPageLeave('pagehide');
463
+ }
464
+
465
+ });
466
+ window.addEventListener('DOMContentLoaded', function () {
467
+ observeDomChanges();
468
+ observeClassChanges();
469
+ });
470
+ window.addEventListener('load', function () { setTimeout(trackPageLoadTime, 0); });
471
+ }
476
472
 
477
473
  registerErrorListener();
478
474
 
@@ -498,8 +494,4 @@ module.exports = {
498
494
  }
499
495
  }
500
496
 
501
- // init();
502
- // window.trackCustomEvent = trackCustomEvent;
503
-
504
-
505
497
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "costway-tracking-v2",
3
- "version": "2.0.4",
3
+ "version": "2.0.6",
4
4
  "description": "统计代码,新增vue3和vue2分别管理版本-增加多国家",
5
5
  "main": "index.cjs",
6
6
  "type": "module",
package/tracking-dev.js CHANGED
@@ -51,20 +51,29 @@
51
51
  const referrerTag = getReferrerTag(currentReferrer, currentDomain);
52
52
  let previousSession = JSON.parse(localStorage.getItem("cgs_session"));
53
53
  let sessionMap = JSON.parse(localStorage.getItem("cgs_sessionMap")) || {};
54
- let isSessionTimedOut = previousSession && (now - previousSession.startTime > config.sessionTimeout);
55
- if (!previousSession || (isSessionTimedOut)
56
- || (referrerTag !== "INTERNAL" && (referrerTag !== previousSession.referrerTag || currentUTM !== previousSession.initialUtmForSession))) {
57
- let newSessionId = sessionMap[`${referrerTag}_${currentUTM}`];
54
+
55
+ // 原来的代码
56
+ // let isSessionTimedOut = previousSession && (now - previousSession.startTime > config.sessionTimeout);
57
+ // if (!previousSession || (isSessionTimedOut)
58
+ // || (referrerTag !== "INTERNAL" && (referrerTag !== previousSession.referrerTag || currentUTM !== previousSession.initialUtmForSession))) {
59
+ // let newSessionId = sessionMap[`${referrerTag}_${currentUTM}`];
60
+
61
+ // 明智修改后 2025-11-05
62
+ let isSessionTimedOut = previousSession && (now - previousSession.lastActivityTime > config.sessionTimeout);
63
+ if (!previousSession || (isSessionTimedOut)) {
64
+ var newSessionId = false
65
+ // 只修改如上代码
66
+
58
67
  if (!newSessionId) {
59
68
  newSessionId = generateUUID();
60
69
  sessionMap[`${referrerTag}_${currentUTM}`] = newSessionId;
61
70
  localStorage.setItem("cgs_sessionMap", JSON.stringify(sessionMap));
62
71
  }
63
- if (isSessionTimedOut) {
64
- newSessionId = generateUUID();
65
- sessionMap[`${referrerTag}_${currentUTM}`] = newSessionId;
66
- localStorage.setItem("cgs_sessionMap", JSON.stringify(sessionMap));
67
- }
72
+ // if (isSessionTimedOut) {
73
+ // newSessionId = generateUUID();
74
+ // sessionMap[`${referrerTag}_${currentUTM}`] = newSessionId;
75
+ // localStorage.setItem("cgs_sessionMap", JSON.stringify(sessionMap));
76
+ // }
68
77
  let newSession = {
69
78
  id: newSessionId,
70
79
  startTime: now,
package/tracking.js CHANGED
@@ -68,11 +68,11 @@
68
68
  sessionMap[`${referrerTag}_${currentUTM}`] = newSessionId;
69
69
  localStorage.setItem("cgs_sessionMap", JSON.stringify(sessionMap));
70
70
  }
71
- if (isSessionTimedOut) {
72
- newSessionId = generateUUID();
73
- sessionMap[`${referrerTag}_${currentUTM}`] = newSessionId;
74
- localStorage.setItem("cgs_sessionMap", JSON.stringify(sessionMap));
75
- }
71
+ // if (isSessionTimedOut) {
72
+ // newSessionId = generateUUID();
73
+ // sessionMap[`${referrerTag}_${currentUTM}`] = newSessionId;
74
+ // localStorage.setItem("cgs_sessionMap", JSON.stringify(sessionMap));
75
+ // }
76
76
  let newSession = {
77
77
  id: newSessionId,
78
78
  startTime: now,
package/trackvue3.js CHANGED
@@ -54,11 +54,11 @@ function getSession() {
54
54
  sessionMap[`${referrerTag}_${currentUTM}`] = newSessionId;
55
55
  localStorage.setItem("cgs_sessionMap", JSON.stringify(sessionMap));
56
56
  }
57
- if (isSessionTimedOut) {
58
- newSessionId = generateUUID();
59
- sessionMap[`${referrerTag}_${currentUTM}`] = newSessionId;
60
- localStorage.setItem("cgs_sessionMap", JSON.stringify(sessionMap));
61
- }
57
+ // if (isSessionTimedOut) {
58
+ // newSessionId = generateUUID();
59
+ // sessionMap[`${referrerTag}_${currentUTM}`] = newSessionId;
60
+ // localStorage.setItem("cgs_sessionMap", JSON.stringify(sessionMap));
61
+ // }
62
62
  let newSession = {
63
63
  id: newSessionId,
64
64
  startTime: now,