MorningEveningViewModel.ets 3.67 KB
import { CompInfoBean, PageInfoBean } from 'wdBean/Index';
import { Logger } from 'wdKit/Index';
import { ResponseDTO } from 'wdNetwork/Index';
import { PageRepository } from '../repository/PageRepository';

const TAG = 'MorningEveningViewModel'

export class MorningEveningViewModel {

  static async getDailyPaperTopic(): Promise<PageInfoBean> {
    return new Promise<PageInfoBean>((success, error) => {
      Logger.info(TAG, `getDailyPaperTopic pageInfo start`);
      PageRepository.fetchDailyPaperTopic()
        .then((resDTO: ResponseDTO<PageInfoBean>) => {
          if (!resDTO || !resDTO.data) {
            Logger.error(TAG, 'getDailyPaperTopic then navResDTO is empty');
            error('resDTO is empty');
            return
          }
          if (resDTO.code != 0) {
            Logger.error(TAG, `getDailyPaperTopic then code:${resDTO.code}, message:${resDTO.message}`);
            error('resDTO Response Code is failure');
            return
          }
          // let navResStr = JSON.stringify(navResDTO);
          Logger.info(TAG, "getDailyPaperTopic then,navResDTO.timestamp:" + resDTO.timestamp);
          success(resDTO.data);
        })
        .catch((err: Error) => {
          Logger.error(TAG, `getDailyPaperTopic catch, error.name : ${err.name},  error.message:${err.message}`);
          error(err);
        })
    })
  }

  static async getMorningEveningPageInfo(pageId: string): Promise<PageInfoBean> {
    return new Promise<PageInfoBean>((success, error) => {
      Logger.info(TAG, `getMorningEveningPageInfo pageInfo start`);
      PageRepository.fetchMorningEveningPageInfo(pageId,'').then((resDTO: ResponseDTO<PageInfoBean>) => {
        if (!resDTO || !resDTO.data) {
          Logger.error(TAG, 'getMorningEveningPageInfo then navResDTO is empty');
          error('resDTO is empty');
          return
        }
        if (resDTO.code != 0) {
          Logger.error(TAG, `getMorningEveningPageInfo then code:${resDTO.code}, message:${resDTO.message}`);
          error('resDTO Response Code is failure');
          return
        }
        // let navResStr = JSON.stringify(navResDTO);
        Logger.info(TAG, "getMorningEveningPageInfo then,navResDTO.timestamp:" + resDTO.timestamp);
        success(resDTO.data);
      }).catch((err: Error) => {
        Logger.error(TAG, `getMorningEveningPageInfo catch, error.name : ${err.name},  error.message:${err.message}`);
        error(err);
      })
    })
  }

  static async getMorningEveningCompInfo(pageId: number, groupId: number, refreshTime: string, topicId: string, pageNum: number = 1, pageSize: number = 20): Promise<CompInfoBean> {
    return new Promise<CompInfoBean>((success, error) => {
      Logger.info(TAG, `getMorningEveningCompInfo pageInfo start`);
      PageRepository.fetchMorningEveningCompInfo(pageId, groupId, refreshTime, topicId, pageNum, pageSize)
        .then((resDTO: ResponseDTO<CompInfoBean>) => {
          if (!resDTO || !resDTO.data) {
            Logger.error(TAG, 'getMorningEveningCompInfo then navResDTO is empty');
            error('resDTO is empty');
            return
          }
          if (resDTO.code != 0) {
            Logger.error(TAG, `getMorningEveningCompInfo then code:${resDTO.code}, message:${resDTO.message}`);
            error('resDTO Response Code is failure');
            return
          }
          // let navResStr = JSON.stringify(navResDTO);
          Logger.info(TAG, "getMorningEveningCompInfo then,navResDTO.timestamp:" + resDTO.timestamp);
          success(resDTO.data);
        })
        .catch((err: Error) => {
          Logger.error(TAG, `getMorningEveningCompInfo catch, error.name : ${err.name},  error.message:${err.message}`);
          error(err);
        })
    })
  }
}