Card5Component.ets 2.5 KB
import { ContentDTO } from 'wdBean';
import { CommonConstants } from 'wdConstant';
import { ProcessUtils } from 'wdRouter';
import { Notes } from './notes';

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;
  @State titleShowPolicy: number | string = 1

  build() {
    Stack() {
      Image(this.contentDTO.coverUrl)
        .width(CommonConstants.FULL_WIDTH)
        .autoResize(true)
        .borderRadius($r('app.float.image_border_radius'))
      if ((this.titleShowPolicy === 1 || 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() {
          Stack() {
            if (this.contentDTO.objectType == '5') {
              Notes({ objectType: this.contentDTO.objectType })
            }
            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.TopStart)
              .textIndent(this.contentDTO.objectType == '5' ? 40 : 0)
          }.alignContent(Alignment.TopStart)
        }
        .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)
    })

  }
}