Tracking.ets 1.55 KB
import { Logger } from 'wdKit/Index';
import { TrackingModule } from '../TrackingModule';
import sensors from '@sensorsdata/analytics';
import { ParamType, PublicParams } from '../common/PublicParams';
import { taskpool } from '@kit.ArkTS';
import { TrackConstants } from '../common/TrackConstants';

const TAG = "WDTracking"

export class Tracking {

  // 通用埋点事件
  static event(eventId: string, params?: ParamType) {

    if (!TrackingModule.getHasInit()) {
      Logger.warn(TAG, "还没有初始化 " + eventId + " " + JSON.stringify(params))
      return
    }

    //TODO: 添加运行单独线程?
    // taskpool.execute(doTrack, eventId, params).then(() => {
    //   Logger.error('yyyy','event track success')
    // }).catch(()=>{
    //   Logger.error('yyyy','event track failed')
    // })

    // let publicParams = new PublicParams()
    // publicParams.getPublicParams().then((pubParams) => {
    //
    //   if (params) {
    //     for (const obj of Object.entries(params)) {
    //       // Logger.info(TAG, ` ${obj[0]} => ` + `${obj[1]}`);
    //       pubParams[obj[0]] = obj[1]
    //     }
    //   }
    //   sensors.track(eventId, pubParams)
    // })
  }
}

@Concurrent
function doTrack(eventId: string, params?: ParamType): void {
  let publicParams = new PublicParams()
  publicParams.getPublicParams().then((pubParams) => {

    if (params) {
      for (const obj of Object.entries(params)) {
        // Logger.info(TAG, ` ${obj[0]} => ` + `${obj[1]}`);
        pubParams[obj[0]] = obj[1]
      }
    }
    sensors.track(eventId, pubParams)
  })
}