ItemBean.ets 2.15 KB
import { ItemDTO } from './ItemDTO';

/**
 * 绑定到组件comp/view的数据Bean
 */
@Observed
// export abstract class ItemBean<DTO> implements Mapper<DTO> {
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) {
    if (dto) {
      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
  }
}