Card3Component.ets 2.23 KB
import { ContentDTO } from 'wdBean';
import { CommonConstants } from 'wdConstant'
import { DateTimeUtils } from 'wdKit/src/main/ets/utils/DateTimeUtils'
import { ProcessUtils } from '../../utils/ProcessUtils';

/**
 * 卡片样式:"appStyle":"3"
 * Card_03 = '3', // 无图卡(全标题)
 */
@Component
export struct Card3Component {
  @State contentDTO: ContentDTO = {
    // appStyle: '3',
    // channelId: '2002',
    // newsTitle: '习近平向斯洛伐克当选总统佩',
    // objectId: '30044351686',
    // objectType: '8',
    // publishTime: '1712967589000',
    // relId: '500005307414',
    // relType: '1',
    // source: '新华社',
  } as ContentDTO;

  build() {
    Column() {
      Text(this.contentDTO.newsTitle)
        .fontSize($r("app.float.font_size_16"))
        .fontColor($r("app.color.color_222222"))
        .width(CommonConstants.FULL_WIDTH)
      Row() {
        // TODO "锐评"取得哪个字段,什么时候显示。
        // Text("锐评")
        //   .fontSize($r("app.float.font_size_12"))
        //   .fontColor($r("app.color.color_ED2800"))
        if(this.contentDTO.source) {
          Text(this.contentDTO.source)
            .fontSize($r("app.float.font_size_12"))
            .fontColor($r("app.color.color_B0B0B0"))
          Image($r("app.media.point"))
            .width(16)
            .height(16)
        }
        Text(DateTimeUtils.getCommentTime(Number.parseFloat(this.contentDTO.publishTime)))
          .fontSize($r("app.float.font_size_12"))
          .fontColor($r("app.color.color_B0B0B0"))
          .margin({ right: 6 })
        // TODO '评论取哪个字段'
        Text(`${this.contentDTO?.interactData?.commentNum}评`)
          .fontSize($r("app.float.font_size_12"))
          .fontColor($r("app.color.color_B0B0B0"))
      }.width(CommonConstants.FULL_WIDTH)
      .justifyContent(FlexAlign.Start)
      .margin({ top: 8 })
    }
    .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)
    })
  }
}