PublicParams.ets 1.99 KB
import { SpConstants } from 'wdConstant/Index';
import { AccountManagerUtils, AppUtils, DeviceUtil, SPHelper, StringUtils } from 'wdKit/Index';
import { HostEnum, HostManager } from 'wdNetwork/Index';

export type ParamType = Record<string, string | number | boolean | Array<string>>

export class PublicParams {

  getPublicParams() : Promise<ParamType> {
    return new Promise((resolve) => {

      let pub: ParamType = {
        "userName": SPHelper.default.getSync(SpConstants.USER_NAME, '') as string,
        "pdUseId": SPHelper.default.getSync(SpConstants.USER_ID, '') as string,
        "creatorId": SPHelper.default.getSync(SpConstants.USER_CREATOR_ID, '') as string,
        "pdCnsBirthday": SPHelper.default.getSync(SpConstants.USER_BIRTHDAY, '') as string,
        "city": PublicParams.getLocationCity(),
        "sex":` ${SPHelper.default.getSync(SpConstants.USER_SEX, 0) as number}`,
        "isSign": AccountManagerUtils.isLoginSync() ? "1" : "0",
        "environment": PublicParams.getEnv(),
        "os": AppUtils.getOSName(),
        "actionTime": new Date().getTime() * 0.001,
        "channel": AppUtils.getAppChannel(),
        "version": AppUtils.getAppVersionName(),
        "deviceId": DeviceUtil.clientId(),
        "model": DeviceUtil.getMarketName() || "未知",
        "mpaasId": PublicParams.getMpaasId(),
      }
      resolve(pub)
    })
  }

  private static getEnv() {
    switch (HostManager.getHost()) {
      case HostEnum.HOST_UAT:
        return "uat"
      case HostEnum.HOST_SIT:
        return "sit"
      case HostEnum.HOST_PRODUCT:
        return "prod"
      case HostEnum.HOST_DEV:
        return "dev"
      default:
        return "prod"
    }
  }

  private static getLocationCity() {
    let cityName = SPHelper.default.getSync(SpConstants.LOCATION_CITY_NAME, '') as string
    if (StringUtils.isNotEmpty(cityName)) {
      return encodeURI(cityName)
    }
    return ""
  }

  private static getMpaasId() {
    // TODO: 新增mpaasId utdid
    return 'alsjdflajxaljdlfjaldjfa';
  }
}