CardAdvVideoComponent.ets 2.3 KB
//全标题 "appStyle":"2",
import { CompDTO, ContentDTO, VideoInfoDTO } from 'wdBean';
import { CommonConstants } from 'wdConstant/Index';
import { ProcessUtils } from 'wdRouter';
import PageModel from '../../viewmodel/PageModel';
import { CardMediaInfo } from '../cardCommon/CardMediaInfo'
import { CardSourceInfo } from '../cardCommon/CardSourceInfo'
import { CardAdvBottom } from './CardAdvBottom';

const TAG: string = 'Card2Component';

/**
 * @Description: 广告---视频广告
 * @Author:
 * @Email: liyubing@wondertek.com.cn
 * @CreateDate:
 * @UpdateRemark: 更新说明
 * @Version: 1.0
 */
@Component
export struct CardAdvVideoComponent {
  @State compDTO: CompDTO = {} as CompDTO
  @State contentDTO: ContentDTO = new ContentDTO()
  pageModel: PageModel = new PageModel();
  aboutToAppear(): void {

    // this.contentDTO.objectType = '1'
    // this.contentDTO.videoInfo = { videoDuration: 1000 } as VideoInfoDTO
  }

  aboutToDisappear(): void {

  }

  build() {

    Column() {

      //新闻标题
      Text(this.compDTO.matInfo.advTitle).bottomTextStyle()
      //大图
      Stack() {
        Image(this.compDTO.matInfo.matImageUrl[0])
          .width(CommonConstants.FULL_WIDTH)
          .aspectRatio(16 / 9)
          .borderRadius(4)
          .borderWidth(0.5)
          .borderColor($r('app.color.color_0D000000'))
        //播放状态+时长
        CardMediaInfo({
          contentDTO: this.contentDTO
        })
      }
      .alignContent(Alignment.BottomEnd)
      .width(CommonConstants.FULL_WIDTH)
      .margin({ top: 8 })

      CardAdvBottom({pageModel:this.pageModel,compDTO:this.compDTO}).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.openAdvDetail(this.compDTO.matInfo)
    })
  }
}

/*
   标题样式
 */
@Extend(Text)
function bottomTextStyle() {
  .fontSize('18fp')
  .fontColor($r('app.color.color_222222'))
  .maxLines(3)
  .textOverflow({ overflow: TextOverflow.Ellipsis }) // 超出的部分显示省略号。
  .align(Alignment.Start)
  .width('100%')
  .lineHeight(25)
}