SettingPage.ets 2.14 KB
import ArrayList from '@ohos.util.ArrayList'
import { MineSettingComponent } from '../setting/MineSettingComponent';
import { AccountAndSecurityLayout } from '../setting/AccountAndSecurityLayout';
import router from '@ohos.router';
import { Action, Params } from 'wdBean';
import { DateTimeUtils } from 'wdKit/Index';
import { TrackingPageBrowse, TrackConstants, TrackingButton } from 'wdTracking/Index';

@Entry
@Component
struct SettingPage {
  @State message: string = 'Hello World 02'
  @State pageType: string = 'mainSetting';
  @State params:Params =  router.getParams() as Params;
  @State enterActivityTime:number = 0;

  pageShowSettingTime:number = 0;
  pageHideSettingTime:number = 0;
  pageShowAccountTime:number = 0;
  pageHideAccountTime:number = 0;

  onPageShow() {
    this.pageType = this.params.pageID;
    this.enterActivityTime = DateTimeUtils.getTimeStamp()
    if (this.pageType == 'mainSetting'){
      this.pageShowSettingTime = DateTimeUtils.getTimeStamp()
    }else{
      this.pageShowAccountTime = DateTimeUtils.getTimeStamp()
    }
  }

  onPageHide(): void {
    if (this.pageType == 'mainSetting'){
      this.pageHideSettingTime = DateTimeUtils.getTimeStamp()
    }else{
      this.pageHideAccountTime = DateTimeUtils.getTimeStamp()
    }

    let duration = 0
    if(this.pageType == 'mainSetting'){
      duration = Math.floor((this.pageHideSettingTime - this.pageShowSettingTime)/1000)
    }else{
      duration = Math.floor((this.pageHideAccountTime - this.pageShowAccountTime)/1000)
    }
    if(this.pageType == 'mainSetting'){
      TrackingPageBrowse.trackCommonPageExposureEnd(TrackConstants.PageName.Setting,TrackConstants.PageName.Setting,duration)
    }else{
      TrackingPageBrowse.trackCommonPageExposureEnd(TrackConstants.PageName.Account_Management,TrackConstants.PageName.Account_Management,duration)
    }
  }

  build() {
    Column() {
      if (this.pageType == 'mainSetting') {
        MineSettingComponent()
      } else  {
        AccountAndSecurityLayout({enterActivityTime:this.enterActivityTime})
      }
    }.setFullWidth()
  }

  // 私有方法
  @Styles setFullWidth(){
    .width('100%')
  }
}

export { SettingPage };