TrackingPageBrowseUtils.ets 1.04 KB
import { DateTimeUtils } from 'wdKit/Index';
import { ParamType, TrackingPageBrowse } from 'wdTracking/Index';

class TrackingPageBrowseUtils {
  private static instance: TrackingPageBrowseUtils
  pageShowTime:number = 0;
  pageHideTime:number = 0;

  /**
   * 单例模式
   * @returns
   */
  public static getInstance(): TrackingPageBrowseUtils {
    if (!TrackingPageBrowseUtils.instance) {
      TrackingPageBrowseUtils.instance = new TrackingPageBrowseUtils();
    }
    return TrackingPageBrowseUtils.instance;
  }

  TrackingPageBrowseExposureStart(){
    this.pageShowTime = DateTimeUtils.getTimeStamp()
  }

  TrackingPageBrowseExposureEnd(pageId: string, pageName: string,extParams?: ParamType){
    this.pageHideTime = DateTimeUtils.getTimeStamp()
    let duration = 0
    duration = Math.floor((this.pageHideTime - this.pageShowTime)/1000)
    TrackingPageBrowse.trackCommonPageExposureEnd(pageId,pageName,duration,extParams)
  }
}

const pageBrowseUtils = TrackingPageBrowseUtils.getInstance();
export default pageBrowseUtils as TrackingPageBrowseUtils