Card17Component.ets 3.3 KB
import { Action, CompDTO, ContentDTO, Params } from 'wdBean';
import { ExtraDTO } from 'wdBean/src/main/ets/bean/component/extra/ExtraDTO';
import { CommonConstants } from 'wdConstant/Index';
import { DateTimeUtils } from 'wdKit';
import { WDRouterRule } from 'wdRouter';
import { CardMediaInfo } from '../cardCommon/CardMediaInfo'
import { CardSourceInfo } from '../cardCommon/CardSourceInfo'
const TAG = 'Card17Component';

/**
 * 图卡集---2
 */
@Component
export struct Card17Component {
  @State compDTO: CompDTO = {} as CompDTO
  @State contentDTO: ContentDTO = {} as ContentDTO;

  build() {
    Column({ space: 8 }) {
      Text(this.contentDTO.newsTitle)
        .textOverflow({ overflow: TextOverflow.Ellipsis })
        .fontSize($r('app.float.font_size_17'))
        .fontColor($r('app.color.color_222222'))
        .lineHeight(25)
        .maxLines(3)
        .width(CommonConstants.FULL_WIDTH)

      Stack({ alignContent: Alignment.BottomEnd }) {
        // 三个图,
        GridRow({ gutter: 2 }) {
          GridCol({ span: { xs: 8 } }) {
            Image(this.contentDTO.fullColumnImgUrls.length > 0 ?this.contentDTO.fullColumnImgUrls[0].url:'')
              .backgroundColor('#f5f5f5')
              .width(CommonConstants.FULL_WIDTH)
              .aspectRatio(16 / 9)
              .borderRadius({
                topLeft: $r('app.float.image_border_radius'),
                bottomLeft: $r('app.float.image_border_radius'),
              })
          }

          GridCol({ span: { xs: 4 } }) {
            Image(this.contentDTO.fullColumnImgUrls.length > 1? this.contentDTO.fullColumnImgUrls[1].url:'')
              .backgroundColor('#f5f5f5')
              .width(CommonConstants.FULL_WIDTH)
              .aspectRatio(16 / 9)
              .margin({ bottom: 1 })
              .borderRadius({
                topRight: $r('app.float.image_border_radius'),
              })
          }
        }

        GridRow({ gutter: 2 }) {
          GridCol({ span: { xs: 8 } }) {
          }

          GridCol({ span: { xs: 4 } }) {
            Image(this.contentDTO.fullColumnImgUrls.length > 2? this.contentDTO.fullColumnImgUrls[2].url:'')
              .backgroundColor('#f5f5f5')
              .width(CommonConstants.FULL_WIDTH)
              .aspectRatio(16 / 9)
              .margin({ top: 1 })
              .borderRadius({
                bottomRight: $r('app.float.image_border_radius'),
              })
          }
        }

        CardMediaInfo({ contentDTO: this.contentDTO })
      }
      .width(CommonConstants.FULL_WIDTH)
      .onClick((event: ClickEvent) => {
        let taskAction: Action = {
          type: 'JUMP_DETAIL_PAGE',
          params: {
            detailPageType: 17,
            contentID: this.contentDTO.objectId,
            extra: {
              relType: this.contentDTO.relType,
              relId: `${this.contentDTO.relId}`,
            } as ExtraDTO
          } as Params,
        };
        WDRouterRule.jumpWithAction(taskAction)
      })
      // 评论等信息
      CardSourceInfo({ contentDTO: this.contentDTO })
    }
    .width(CommonConstants.FULL_WIDTH)
    .padding({
      left: $r('app.float.card_comp_pagePadding_lf'),
      right: $r('app.float.card_comp_pagePadding_lf'),
      top: $r('app.float.card_comp_pagePadding_tb'),
      bottom: $r('app.float.card_comp_pagePadding_tb')
    })
  }
}