PageAdvModel.ets 1.84 KB
import { PageInfoDTO } from 'wdBean/Index';
import { AdvRuleBean, CompAdvBean } from 'wdBean/src/main/ets/bean/adv/AdvsRuleBean';

/**
 * @Description: 处理页面的广告业务
 * @Author: lyb
 * @Email: liyubing@wondertek.com.cn
 * @CreateDate:
 * @UpdateRemark: 更新说明
 * @Version: 1.0
 */
export default class PageAdModel {
  //左右挂角广告对象
  pageCornerAdv: CompAdvBean = {} as CompAdvBean
  // 挂角广告
  isShowAds: boolean = false;
  isRightAdv: number = 1;
  // 1:右边;2:左边 -> 默认右边
  pageCornerContentInfo: AdvRuleBean = {} as AdvRuleBean

  // 展现中心业务信息




  /**
   * 解析广告资源
   * @param pageInfo
   */
  analysisAdvSource(pageInfo: PageInfoDTO): void {

    if (pageInfo.hasAdInfo === 1 && pageInfo.cornersAdv != null) {
      // 优先展示展现中心广告
      let cornersAdv = pageInfo.cornersAdv

      if (cornersAdv == null) {
        return
      }
      if (cornersAdv.advert == null) {
        return
      }

      if ("left_down" == cornersAdv.pos) {
        // 左边挂角广告
        this.isRightAdv = 2
      } else {
        // 右边挂角广告
        this.isRightAdv = 1

      }

      this.pageCornerContentInfo = cornersAdv;
      this.isShowAds = true

    } else if (pageInfo.cornersAdv2 != null && pageInfo.cornersAdv2.length > 0) {
      // 广告中心-挂角广告信息
      let cornersAdv2 = pageInfo.cornersAdv2
      // 获取
      let showCompAdvBean = cornersAdv2[0]

      if (showCompAdvBean.matInfo == null) {
        return
      }
      //
      let slotInfo = showCompAdvBean.slotInfo;
      let postion = slotInfo.position
      if (postion == 0) {
        //左边挂角
        this.isRightAdv = 2
      } else {
        // 右边挂角
        this.isRightAdv = 1
      }
      this.pageCornerAdv = showCompAdvBean
      this.isShowAds = true
    }

  }
}