PageFollowHelper.ets 2.76 KB
import { CompDTO, ContentDTO, InteractDataDTO, LiveReviewDTO, LiveRoomDataBean, PageDTO, PageInfoDTO } from 'wdBean';
import { CompStyle, ViewType } from 'wdConstant/Index';
import { CollectionUtils, DateTimeUtils, LazyDataSource, Logger, NetworkUtil, StringUtils, ToastUtils } from 'wdKit';
import { closeRefresh } from '../utils/PullDownRefresh';
import PageModel from './PageModel';
import PageViewModel from './PageViewModel';
import { promptAction } from '@kit.ArkUI';
import { CompAdvBean } from 'wdBean/src/main/ets/bean/adv/AdvsRuleBean';
import PageAdModel from './PageAdvModel';
import { ArrayList } from '@kit.ArkTS';
import { WDViewDefaultType } from '../components/view/EmptyComponent';
import { CompAdvMatInfoBean } from 'wdBean/src/main/ets/bean/adv/CompAdvInfoBean';
import { BaseDTO } from 'wdBean/src/main/ets/bean/component/BaseDTO';
import { viewBlogInsightIntentShare, ActionMode } from '../utils/InsightIntentShare'
import { common } from '@kit.AbilityKit';
import { CacheData } from 'wdNetwork/Index';
import { closeLoadMore } from '../utils/PullUpLoadMore';

const TAG = 'PageHelper';


/**
 * 处理返回后的数据
 */
export class PageFollowHelper {
  private refreshUIEnd(pageModel: PageModel, isRefreshSuccess: boolean) {
    if (pageModel.loadStrategy != 2) {
      return
    }
    closeRefresh(pageModel, isRefreshSuccess)
  }



  /**
   * 进页面请求数据
   */
  async getInitData(pageModel: PageModel) {
    pageModel.loadStrategy = 1
    let netStatus = NetworkUtil.isNetConnected()
    if (netStatus) {
      this.getPageInfo(pageModel)
    } else if (pageModel.compList.size() > 0) {
      // 加载缓存数据了,不用无网络提示
    } else {
      pageModel.viewType = ViewType.EMPTY;
      pageModel.emptyType = WDViewDefaultType.WDViewDefaultType_NoNetwork;
    }
  }

  getPageInfo(pageModel: PageModel) {
    pageModel.currentPage = 1;
    Logger.debug(TAG, 'getPageInfo')
    PageViewModel.getPageInfo(pageModel.pageId).then(pageInfo => {
      Logger.debug(TAG, 'getPageInfo back: ' + JSON.stringify(pageInfo))
      if (pageInfo == null) {
        pageModel.viewType = ViewType.EMPTY;
        pageModel.emptyType = WDViewDefaultType.WDViewDefaultType_NoContent1;
        return;
      }
      pageModel.pageInfo = pageInfo;

      Logger.debug(TAG, 'getPageInfo go on')
    }).catch(() => {
      this.refreshUIEnd(pageModel, false)
      if (this.isPageLoaded(pageModel)) {
        return
      }
      pageModel.viewType = ViewType.EMPTY;
      pageModel.emptyType = WDViewDefaultType.WDViewDefaultType_ContentFailed;
    })
  }

  private isPageLoaded(pageModel: PageModel) {
    if (pageModel.compList.size() > 0) {
      return true
    }
    return false
  }
}




let pageHelper = new PageFollowHelper();

export default pageHelper as PageFollowHelper;