ItemBean.ets 1.9 KB
import { ItemDTO } from './ItemDTO';
import { Action } from './programme/Action';
import { Pic } from './programme/Pic';

/**
 * 绑定到组件comp/view的数据Bean
 */
@Observed
// export abstract class ItemBean<DTO> implements Mapper<DTO> {
export abstract class ItemBean extends ItemDTO {
  landscapeCover?: string; // 横向低分辨封面图片
  portraitCover?: string; // 竖向低分辨封面图片
  highLandscapeCover?: string; // 横向高分辨封面图片
  highPortraitCover?: string; // 竖向高分辨封面图片
  lowResolutionV34?: string; // 低清竖图(3:4比例), 取图逻辑 3:4低清竖图-->3:4高清竖图-->低分辨率竖图-->高分辨率竖图
  highResolutionV34?: string; // 高清竖图(3:4比例), 取图逻辑 3:4高清竖图-->3:4低清竖图-->高分辨率竖图-->低分辨率竖图
  /**
   * 是否被曝光
   */
  exposed: boolean;
  /**
   * 曝光位置
   */
  position: string;

  constructor(dto: ItemDTO) {
    super(dto.action, dto.actionId, dto.pics, dto.h5pics)

    this.landscapeCover = !dto.pics ? "" : !dto.pics.lowResolutionH ? dto.pics.highResolutionH : dto.pics.lowResolutionH;
    this.portraitCover = !dto.pics ? "" : !dto.pics.lowResolutionV ? dto.pics.highResolutionV : dto.pics.lowResolutionV;
    this.highLandscapeCover = !dto.pics ? "" : !dto.pics.highResolutionH ? dto.pics.lowResolutionH : dto.pics.highResolutionH;
    this.highPortraitCover = !dto.pics ? "" : !dto.pics.highResolutionV ? dto.pics.lowResolutionV : dto.pics.highResolutionV;

    this.lowResolutionV34 = !dto.pics ? "" : (!dto.pics.lowResolutionV34 ? dto.pics.lowResolutionV34 : (!dto.pics.highResolutionV34 ? dto.pics.highResolutionV34 : this.portraitCover));
    this.highResolutionV34 = !dto.pics ? "" : (!dto.pics.highResolutionV34 ? dto.pics.highResolutionV34 : (!dto.pics.lowResolutionV34 ? dto.pics.lowResolutionV34 : this.highPortraitCover));

    this.exposed = false
    this.position = "0"
  }
}