CompRequest.ets 1.75 KB
import { ConfigConstants } from 'wdConstant';
import {Logger} from 'wdKit';
import {WDHttp} from 'wdNetwork';
import { CompDataDTO } from '../bean/CompDataDTO';
import { CompDTO } from '../bean/CompDTO';
import { DataSourceRequest } from '../bean/DataSourceRequest';
import { ReplaceUtil } from '../utils/ReplaceUtil';

const TAG = 'CompRequest';

export class CompRequest {
  static fetch(pageID: string, groupID: string, compID: string, page: number, pageSize: number, isRefresh: boolean) {
    const url: string = `${ConfigConstants.BASE_URL_VOD}${ConfigConstants.CONTENT_LIST_PATH}/${pageID}/${groupID}/${compID}`;
    Logger.info(TAG, "fetch url:" + url);
    return WDHttp.Request.get<WDHttp.ResponseDTO<CompDataDTO>>(url)
  };

  static fetchDataSource<T>(compDTO: CompDTO,dataSourceRequest: DataSourceRequest) {
    // if (dataSourceRequest.dataSourceType == 'GUESS_YOU_LIKE') {}
    Logger.info(TAG, "fetchDataSource url:" + dataSourceRequest.uri);
    const url: string = ReplaceUtil.replaceUrl(dataSourceRequest.uri, compDTO, dataSourceRequest)
    Logger.info(TAG, "new url:" + url);
    let options: WDHttp.RequestOptions = {
      method: dataSourceRequest.method.toUpperCase() === "POST" ? WDHttp.RequestMethod.POST : WDHttp.RequestMethod.GET,
      header: ReplaceUtil.replaceHeader(dataSourceRequest.header, compDTO, dataSourceRequest),
      // 读超时时间 单位s 默认60
      readTimeout: dataSourceRequest.timeout,
      // 连接超时时间 单位s 默认60
      connectTimeout: dataSourceRequest.timeout,
      params: ReplaceUtil.replaceHeader(dataSourceRequest.paramter, compDTO, dataSourceRequest)
    };
    Logger.info(TAG, "fetchDataSource options:" + JSON.stringify(options));
    return WDHttp.Request.request<WDHttp.ResponseDTO<T>>(url, options)
  };
}