LiveViewModel.ets 3.43 KB
import { ContentDetailDTO, LiveDetailsBean, LiveRoomBean, LiveRoomDataBean, ValueType } from 'wdBean/Index'

import { ResponseDTO } from 'wdNetwork/Index'
import { LiveModel } from './LiveModel'

const TAG = "LiveViewModel"

export class LiveViewModel {
  liveModel: LiveModel

  constructor() {
    this.liveModel = new LiveModel()
  }

  // 视频信息
  getContentDetail(contentId: string, relId: string, relType: string) {
    return new Promise<Array<ContentDetailDTO>>((success, fail) => {
      this.liveModel.getContentDetail(contentId, relId, relType).then((data) => {
        success(data)
      }).catch((message: string) => {
        fail(message)
      })
    })

  }


  //直播详情
  getLiveDetails(contentId: string, relId: string, relType: string) {
    return new Promise<Array<LiveDetailsBean>>((success, fail) => {
      this.liveModel.getLiveDetails(contentId, relId, relType).then((data) => {
        success(data)
      }).catch((message: string) => {
        fail(message)
      })
    })
  }

  //直播详情直播间数据列表
  getLiveList(pageNum: number, mLiveId: string, liveId: string, pageSize: number) {
    return new Promise<LiveRoomBean>((success, fail) => {
      this.liveModel.getLiveList(pageNum, mLiveId, liveId, pageSize).then((data) => {
        success(data)
      }).catch((message: string) => {
        fail(message)
      })
    })
  }

  //直播详情大家聊数据列表
  getLiveChatList(pageNum: number, mLiveId: string, liveId: string, pageSize: number) {
    return new Promise<LiveRoomBean>((success, fail) => {
      this.liveModel.getLiveChatList(pageNum, mLiveId, liveId, pageSize).then((data) => {
        success(data)
      }).catch((message: string) => {
        fail(message)
      })
    })
  }

  //直播详情直播间数据
  getLiveRoomData(liveId: string) {
    return new Promise<LiveRoomDataBean>((success, fail) => {
      this.liveModel.getLiveRoomData(liveId).then((data) => {
        success(data)
      }).catch((message: string) => {
        fail(message)
      })
    })
  }
  // 直播详情-C端点赞接口
  getLiveRoomNumberLike(liveId: string, number: number, deviceId: string | number) {
    return new Promise<number>((success, fail) => {
      this.liveModel.getLiveRoomNumberLike(liveId, number, deviceId).then((data) => {
        success(data)
      }).catch((message: string) => {
        fail(message)
      })
    })
  }
  // 直播详情-查询是否点赞接口
  getLiveLike(liveId: string, userId: ValueType, deviceId: string | number) {
    return new Promise<boolean>((success, fail) => {
      this.liveModel.getLiveLike(liveId, userId, deviceId).then((data) => {
        success(data)
      }).catch((message: string) => {
        fail(message)
      })
    })
  }

  //直播预约状态查询
  getLiveAppointmentStatus(relationId: string, liveId: string) {
    return new Promise<boolean>((success, fail) => {
      this.liveModel.getLiveAppointmentStatus(relationId, liveId).then((data) => {
        success(data)
      }).catch((message: string) => {
        fail(message)
      })
    })
  }

  //直播预约/取消预约
  liveAppointment(relationId: string, liveId: string, isSubscribe: boolean) {
    return new Promise<ResponseDTO<string>>((success, fail) => {
      this.liveModel.liveAppointment(relationId, liveId, isSubscribe).then((data) => {
        success(data)
      }).catch((message: string) => {
        fail(message)
      })
    })
  }

  sendComment(comment: string) {

  }
}