CompParser.ets 1.25 KB
import { CommonConstants, CompStyle } from 'wdConstant';
import { CompDTO } from '../repository/bean/CompDTO';
import { BannerComponent } from './BannerComponent';
import { LabelComponent } from './LabelComponent';
import { TitleAbbrComponent } from './TitleAbbrComponent';
import { TitleAllComponent } from './TitleAllComponent';

/**
 * comp适配器.
 */
@Component
export struct CompParser {
  compDTO: CompDTO = {} as CompDTO;
  compIndex: number = 0;

  build() {
    this.componentBuilder(this.compDTO, this.compIndex);
  }

  @Builder
  componentBuilder(compDTO: CompDTO, compIndex: number) {
    if (compDTO.compStyle === CompStyle.Label_03) {
      LabelComponent({ compDTO: compDTO })
    } else if (compDTO.compStyle === CompStyle.Title_Abbr_01) {
      TitleAbbrComponent({ compDTO: compDTO })
    } else if (compDTO.compStyle === CompStyle.Title_All_01) {
      TitleAllComponent({ compDTO: compDTO })
    } else if (compDTO.compStyle === CompStyle.Carousel_Layout_01) {
      BannerComponent({ compDTO: compDTO })
    } else {
      // todo:组件未实现 / Component Not Implemented
      Text(compDTO.compStyle)
        .width(CommonConstants.FULL_PARENT)
        .padding(10)
      // .backgroundColor(Color.Brown) // 展示本页未实现的compStyle
    }
  }
}