ItemBean.ets 2.1 KB
/**
 * 绑定到组件comp/view的数据Bean
 */
import { Action } from './Action';
import { ItemDTO } from './ItemDTO';
import { Pic } from './Pic';

@Observed
export abstract class ItemBean {
  action?: Action; // 事件行为
  actionId?: string; // 点击事件id
  pics?: Pic
  h5pics: Pic;
  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) {
    this.action = dto.action
    this.actionId = dto.actionId
    this.pics = dto.pics
    this.h5pics = 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"
  }

  public setAction(action: Action): void {
    this.action = action
  }

  public getAction(): Action {
    return this.action ?? {} as Action
  }
}