CompDTO.ets 2.97 KB
import { CompAdvMatInfoBean } from '../adv/CompAdvInfoBean';
import { AudioDTO } from '../content/AudioDTO';
import { ContentDTO } from '../content/ContentDTO';
import { BaseDTO } from './BaseDTO';

@Observed
export class CompDTO implements BaseDTO {
  expIds: string = '';
  itemId: string = '';
  contentText?: string = '';
  backgroundColor: string = '';
  backgroundImgUrl: string = '';
  cityCode: string = '';
  compStyle: string = '';
  compType: string = '';
  cardItemId: string = '';
  // dataSourceRequest: any[];
  districtCode: string = '';
  extraData?: string;
  hasAdInfo: number = -1;
  id: number = 0;
  imgSize: string = '';
  innerUrl: string = '';
  linkUrl: string = '';
  // meddleDataList: any[];
  name: string = '';
  objectId: string = ''; // 跳转页面id?
  objectTitle: string = ''; // comp标题
  // objectType?: string; // 跳转类型,枚举:
  operDataList: ContentDTO[] = []; // 运营数据列表【正常运营配置的强运营数据,部分推荐场景的配置(自动源兜底数据)】
  // pageId?: any;
  posterSize: string = '';
  posterUrl: string = '';
  provinceCode: string = '';
  sortValue: number = -1;
  subType: string = '';
  imageScale: number = -1; // 封面图比例 1-4:3, 2-16:9, 3-3:2
  audioDataList: AudioDTO[] = [];
  titleShowPolicy: string | number = '';
  /**
   * 组件内容源类型  (LIVE_HORIZONTAL_CARD\LIVE_RESERVATION\LIVE_LARGE_CARD\LIVE_END\LIVE_MONTHLY_RANKING  )
   */
  dataSourceType: string = '';
  /**
   * 信息流广告素材
   */
  matInfo: CompAdvMatInfoBean = new CompAdvMatInfoBean
  pageId?: string;
  objectType?: string;
  hasMore: number = 1;

  // keyGenerator相关字符串,用于刷新list布局
  timestamp: String = '1'
  relId?: String = ''
  relType?: String = ''
  /**
   * 创建新的compbean对象
   * @param old
   * @returns
   */
  static createNewsBean(old: CompDTO): CompDTO {
    let comp: CompDTO = new CompDTO
    comp.compStyle = old.compStyle
    comp.compType = old.compType
    comp.operDataList = old.operDataList
    comp.extraData = old.extraData
    comp.matInfo = old.matInfo

    comp.backgroundColor = old.backgroundColor
    comp.backgroundImgUrl = old.backgroundImgUrl
    comp.cityCode = old.cityCode
    comp.districtCode = old.districtCode
    comp.provinceCode = old.provinceCode
    comp.hasAdInfo = old.hasAdInfo
    comp.id = old.id
    comp.imgSize = old.imgSize
    comp.innerUrl = old.innerUrl
    comp.linkUrl = old.linkUrl
    comp.name = old.name
    comp.objectId = old.objectId
    comp.objectTitle = old.objectTitle
    comp.posterSize = old.posterSize
    comp.posterUrl = old.posterUrl
    comp.sortValue = old.sortValue
    comp.subType = old.subType
    comp.imageScale = old.imageScale
    comp.audioDataList = old.audioDataList
    comp.titleShowPolicy = old.titleShowPolicy
    comp.pageId = old.pageId
    comp.extraData = old.extraData
    comp.dataSourceType = old.dataSourceType
    comp.objectType = old.objectType
    comp.hasMore = old.hasMore

    return comp
  }
}