Card5Component.ets 2.1 KB
import { ContentDTO } from 'wdBean';
import { CommonConstants } from 'wdConstant';
import { ProcessUtils } from 'wdRouter';

const TAG: string = 'Card5Component';

/**
 * 卡片样式:"appStyle":"5" 头图卡
 */
// @Entry
@Component
export struct Card5Component {
  @State contentDTO: ContentDTO = {
    // coverSize: '850*478',
    // coverType: 1,
    // coverUrl:
    // 'https://uatjdcdnphoto.aikan.pdnews.cn/sjbj-20240323/image/display/54ce2de0d20842839e96a644c78361b7.jpg?x-oss-process=image/resize,w_550/quality,q_90/format,jpg',
    // linkUrl:
    // 'https://pd-people-uat.pdnews.cn/h/atv/collect/1000000472?hiddenNavigator=1',
    // newsTitle: '今天是周日,天气阴天,明天是周一。',
    // objectType: '6'
  } as ContentDTO;

  build() {
    Stack() {
      Image(this.contentDTO.coverUrl)
        .width(CommonConstants.FULL_WIDTH)
        .autoResize(true)
        .borderRadius($r('app.float.image_border_radius'))
      if (this.contentDTO.titleShow === 1 && this.contentDTO.newsTitle) {
        Row()
          .width(CommonConstants.FULL_WIDTH)
          .height(59)
          .linearGradient({
            colors: [
              ['rgba(0, 0, 0, 0.0)', 0.0], ['rgba(0, 0, 0, 0.3)', 1.0]
            ]
          })
        Row() {
          Text(this.contentDTO.newsTitle)
            .width(CommonConstants.FULL_WIDTH)
            .height(CommonConstants.FULL_HEIGHT)
            .fontColor(Color.White)
            .fontSize($r('app.float.normal_text_size'))
            .fontWeight(FontWeight.Bold)
            .maxLines(2)
            .align(Alignment.Bottom)
        }
        .justifyContent(FlexAlign.Start)
        .height(40)
        .margin({ left: 12, bottom: 10, right: 12 })
      }
    }
    .alignContent(Alignment.Bottom)
    .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')
    })
    .onClick((event: ClickEvent) => {
      ProcessUtils.processPage(this.contentDTO)
    })

  }
}