HttpCommonParams.ets 6.77 KB
import HashMap from '@ohos.util.HashMap';
import { SpConstants } from 'wdConstant';
import { SPHelper, StringUtils } from 'wdKit';
import { HostEnum, HostManager } from './HttpHostManager';

/**
 * 网络请求参数工具类
 */
export class HttpParams {
  private static userId = ''
  private static userType = ''
  private static token = ''

  static getCommonHeaders(): HashMap<string, string> {
    let headers: HashMap<string, string> = new HashMap<string, string>()
    headers.set('User-Agent', 'Dalvik/2.1.0 (Linux; U; Android 13; 22101317C Build/TKQ1.221013.002)')
    headers.set('channel', HttpParams.getChannel())
    //headers.set('appCode', ConfigConstants.appCode)
    headers.set('plat', HttpParams.getPlat())
    //headers.set('Authorization', 'APPCODE 83092caa603a421aa0222308b3f6b27a')
    headers.set('Content-Type', 'application/json; charset=utf-8')
    headers.set('timestamp', HttpParams.getTimestamp())
    headers.set('RMRB-X-TOKEN', HttpParams.getXToken())
    headers.set('device_id', HttpParams.getDeviceId())
    if (HttpParams.getXToken() != '') {
      headers.set('cookie', 'RMRB-X-TOKEN=' + HttpParams.getXToken())
    }
    headers.set('build_version', HttpParams.getVersion())
    headers.set('adcode', HttpParams.getAdCode())
    headers.set('os_version', HttpParams.getOsVersion())
    //headers.set('X-Ca-Stage', 'PRE')
    headers.set('versionCode', HttpParams.getVersionCode())
    headers.set('system', HttpParams.getTerminalId())
    headers.set('version_name', HttpParams.getVersionName())
    headers.set('EagleEye-TraceID', 'D539562E48554A60977AF4BECB6D6C7A')
    headers.set('imei', HttpParams.getImei())
    headers.set('Accept-Language', 'zh')
    HttpParams.setLocationHeader(headers)
    // TODO 判断是否登录
    headers.set('userId', HttpParams.getUserId())
    headers.set('userType', HttpParams.getUserType())

    headers.set('mpassid', 'ZbHTMeTsfaYDAHqt8ZHIzcPs')
    HttpParams.addSpecialHeaders(headers);
    // Logger.debug("TAG", '******************* commonHeaders headers start ******************************** ');
    // headers.forEach((v,k)=>{
    //   Logger.debug("TAG", 'getCommonHeaders header: ' + k + ': ' + v);
    // })
    // Logger.debug("TAG", '******************* commonHeaders headers end ******************************** ');
    return headers;
  }

  static addSpecialHeaders(headers: HashMap<string, string>) {
    switch (HostManager.getHost()) {
      case HostEnum.HOST_UAT:
      // TODO 待优化到常量类里
        headers.set('X-Ca-Stage', 'PRE');
        headers.set('Authorization', 'APPCODE 83092caa603a421aa0222308b3f6b27a');
        headers.set('appCode', '83092caa603a421aa0222308b3f6b27a');
        break
      case HostEnum.HOST_SIT:
        headers.set('X-Ca-Stage', 'TEST');
        headers.set('Authorization', 'APPCODE 0af1f9085e484c97b2a44704bae72c07');
        headers.set('appCode', '0af1f9085e484c97b2a44704bae72c07');
        break
      case HostEnum.HOST_PRODUCT:
        headers.set('X-Ca-Stage', 'RELEASE');
        headers.set('Authorization', 'APPCODE 3d4181bceeb94d9780e10dbb6c67bbf6');
        headers.set('appCode', '3d4181bceeb94d9780e10dbb6c67bbf6');
        break
      case HostEnum.HOST_DEV:
        headers.set('X-Ca-Stage', 'TEST');
        headers.set('Authorization', 'APPCODE ff33172859e14f9a8299e3bd769e79f9');
        headers.set('appCode', 'ff33172859e14f9a8299e3bd769e79f9');
        break
      default:
        break
    }
  }

  static setLocationHeader(headers: HashMap<string, string>) {
    let cityName = SPHelper.default.getSync(SpConstants.LOCATION_CITY_NAME, '') as string
    if (StringUtils.isNotEmpty(cityName)) {
      headers.set('city', encodeURI(cityName))
    }
    let cityCode = SPHelper.default.getSync(SpConstants.LOCATION_CITY_CODE, '') as string
    if (StringUtils.isNotEmpty(cityCode)) {
      headers.set('city_dode', encodeURI(cityCode))
    }
  }

  private static getCity() {
    // TODO 对接定位
    return '%E5%90%88%E8%82%A5%E5%B8%82';
  }

  private static getChannel() {
    // TODO 对接配置
    return 'rmrb_china_0000';
  }

  private static getPlat() {
    return 'Phone';
  }

  private static getTimestamp() {
    // return DateTimeUtils.getCurrentTime() + '';
    // TODO 暂时写死,有些page 真实时间戳 返回数据为空
    return '155203523';
  }

  private static getXToken() {
    if (StringUtils.isNotEmpty(HttpParams.token)) {
      return HttpParams.token
    }
    HttpParams.token = SPHelper.default.getSync(SpConstants.USER_JWT_TOKEN, "") as string
    if (StringUtils.isNotEmpty(HttpParams.token)) {
      return HttpParams.token
    }
    // return 'eyJhbGciOiJIUzI1NiIsImtpZCI6ImQ4WkI2QkhxSEZrdjJ2U25BNlRwZEdKRjBHcjItVzBvS2FaYzdLOUUycmcifQ.eyJpc3MiOiJwZW9wbGVzLWRhaWx5LWZvdXJhIiwic3ViIjoicGVvcGxlcy1kYWlseS1mb3VyYSIsImV4cCI6MTcwMzY0OTYwNiwidXNlcklkIjo0NTk3NzYyOTc0NzQ5NDksInVzZXJWZXJzaW9uIjoiNDU5Nzc2Mjk3NDc0OTQ5XzIiLCJ1c2VyTmFtZSI6IkJ1bGlraWtpMTgxIiwidXNlclR5cGUiOjIsImNyZWF0b3JJZCI6NDI2NTM5MH0.jhQ9kylcm3FxWf0-lBMZuLkdtIQ6XpFnAi0AFZJNwfc';
    return ''
  }

  static getRefreshToken(): string {
    let refreshToken = SPHelper.default.getSync(SpConstants.USER_REFRESH_TOKEN, "")
    if (StringUtils.isNotEmpty(refreshToken)) {
      return refreshToken as string;
    }
    return '';
  }

  public static getDeviceId() {
    // TODO
    return '8a81226a-cabd-3e1b-b630-b51db4a720ed';
  }

  private static getVersion() {
    // TODO
    return '202401242103';
  }

  private static getVersionCode() {
    // TODO
    return '7301';
  }

  private static getVersionName() {
    // TODO
    return '7.3.0.1';
  }

  private static getAdCode() {
    return '340000';
  }

  private static getOsVersion() {
    // TODO
    return '12';
  }

  public static getCityCode() {
    // TODO
    return '340100';
  }

  public static getProvinceCode() {
    // TODO
    return '340000';
  }

  /**
   * 地区code
   */
  public static getDistrictCode() {
    // TODO
    return '340103';
  }

  private static getTerminalId() {
    return 'Android';
  }

  public static getImei() {
    // TODO
    return '8a81226a-cabd-3e1b-b630-b51db4a720ed';
  }

  public static getUserId(): string {
    // TODO 对接登录
    if (StringUtils.isNotEmpty(HttpParams.userId)) {
      return HttpParams.userId
    }
    HttpParams.userId = SPHelper.default.getSync(SpConstants.USER_ID, "") as string
    return HttpParams.userId;
  }

  public static getUserType() {
    if (StringUtils.isNotEmpty(HttpParams.userType)) {
      return HttpParams.userType
    }
    HttpParams.userType = SPHelper.default.getSync(SpConstants.USER_Type, "") as string
    return HttpParams.userType;
  }

  public static setUserId(userId: string) {
    HttpParams.userId = userId;
  }

  public static setUserType(userType: string) {
    HttpParams.userType = userType;
  }

  public static setUserToken(token: string) {
    HttpParams.token = token;
  }
}