CardParser.ets 3.76 KB
import { CompStyle } from 'wdConstant';
import { CompDTO, ContentDTO } from 'wdBean';
import { Card2Component } from './cardview/Card2Component';
import { Card3Component } from './cardview/Card3Component';
import { Card4Component } from './cardview/Card4Component';
import { Card5Component } from './cardview/Card5Component';
import { Card6Component } from './cardview/Card6Component';
import { Card9Component } from './cardview/Card9Component';
import { Card10Component } from './cardview/Card10Component';
import { Card11Component } from './cardview/Card11Component';
import { Card12Component } from './cardview/Card12Component';
import { Card14Component } from './cardview/Card14Component';
import { Card15Component } from './cardview/Card15Component';
import { Card16Component } from './cardview/Card16Component';
import { Card17Component } from './cardview/Card17Component';
import { Card19Component } from './cardview/Card19Component';
import { Card20Component } from './cardview/Card20Component';
import { Card21Component } from './cardview/Card21Component';
import { SearchContentComponent } from './cardview/SearchContentComponent';

/**
 * card适配器,卡片样式汇总,依据ContentDTO#appStyle
 * 卡片样式,最小单元样式布局
 */
@Component
export struct CardParser {
  @State contentDTO: ContentDTO = new ContentDTO();
  @ObjectLink compDTO: CompDTO

  build() {
    this.contentBuilder(this.contentDTO);
  }

  @Builder
  contentBuilder(contentDTO: ContentDTO) {
    // Card6Component({ compDTO: this.compDTO, contentDTO: this.contentDTO })
    if (!!contentDTO.contentText) {
      SearchContentComponent({ contentDTO })
    } else {
      if (contentDTO.appStyle === CompStyle.Card_02) {
        Card2Component({ compDTO: this.compDTO, contentDTO })
      } else if (contentDTO.appStyle === CompStyle.Card_03) {
        Card3Component({ compDTO: this.compDTO, contentDTO })
      } else if (contentDTO.appStyle === CompStyle.Card_04) {
        Card4Component({ compDTO: this.compDTO, contentDTO })
      } else if (contentDTO.appStyle === CompStyle.Card_05) {
        Card5Component({ contentDTO, titleShowPolicy: this.compDTO.titleShowPolicy})
      } else if (contentDTO.appStyle === CompStyle.Card_06 || contentDTO.appStyle === CompStyle
        .Card_13) {
        Card6Component({ compDTO: this.compDTO, contentDTO: this.contentDTO })
      } else if (contentDTO.appStyle === CompStyle.Card_09) {
        Card9Component({ contentDTO })
      } else if (contentDTO.appStyle === CompStyle.Card_10) {
        Card10Component({ compDTO: this.compDTO, contentDTO })
      } else if (contentDTO.appStyle === CompStyle.Card_11) {
        Card11Component({ compDTO: this.compDTO, contentDTO })
      } else if (contentDTO.appStyle === CompStyle.Card_12) {
        Card12Component({ contentDTO })
      } else if (contentDTO.appStyle === CompStyle.Card_14) {
        Card14Component({ contentDTO })
      } else if (contentDTO.appStyle === CompStyle.Card_15) {
        Card15Component({ contentDTO })
      } else if (contentDTO.appStyle === CompStyle.Card_16) {
        Card16Component({ contentDTO })
      } else if (contentDTO.appStyle === CompStyle.Card_17) {
        Card17Component({ compDTO: this.compDTO, contentDTO })
      } else if (contentDTO.appStyle === CompStyle.Card_19) {
        Card19Component({ contentDTO })
      } else if (contentDTO.appStyle === CompStyle.Card_20) {
        Card20Component({ contentDTO })
      } else if (contentDTO.appStyle === CompStyle.Card_21) {
        Card21Component({ contentDTO })
      } else {
        // todo:组件未实现 / Component Not Implemented
        // Text(contentDTO.appStyle)
        //   .width(CommonConstants.FULL_PARENT)
        //   .padding(10)
        // .backgroundColor(Color.Brown) // 展示本页未实现的compStyle
      }
    }
  }
}