LikeModel.ets 1.87 KB
import { Logger } from 'wdKit/Index';
import { HttpBizUtil, HttpUrlUtils, ResponseDTO } from 'wdNetwork/Index';

export class LikeModel {
  executeLike(data: Record<string, string>) {
    return new Promise<object>((success, fail) => {
      HttpBizUtil.post<ResponseDTO<object>>(HttpUrlUtils.executeLike(), data).then((data: ResponseDTO<object>) => {
        if (data.code != 0) {
          fail(data.message)
          return
        }
        success(data)
      }, (error: Error) => {
        fail(error.message)
        Logger.debug("LoginViewModel:error ", error.toString())
      })
    })
  }


  getLikeStatus(data: Record<string, string>) {
    let model : Record<string,Record<string,string>[]> = {}
    model['contentList'] = [data]

    return new Promise<object>((success, fail) => {
      HttpBizUtil.post<ResponseDTO<object>>(HttpUrlUtils.getLikeStatus(), model).then((data: ResponseDTO<object>) => {
        if (data.code != 0) {
          fail(data.message)
          return
        }
        success(data)
      }, (error: Error) => {
        fail(error.message)
        Logger.debug("LoginViewModel:error ", error.toString())
      })
    })
  }



  getLikeCount(data: Record<string, string>) {
    let channelId : string = data['channelId']
    let contentId : string = data['contentId']
    let contentType : string = data['contentType']
    let detail : string = '1'
    let url = HttpUrlUtils.getLikeCount() + `?channelId=${channelId}&contentId=${contentId}&contentType=${contentType}&detail=${detail}`
    return new Promise<object>((success, fail) => {
      HttpBizUtil.get<ResponseDTO<object>>(url).then((data: ResponseDTO<object>) => {
        if (data.code != 0) {
          fail(data.message)
          return
        }
        success(data)
      }, (error: Error) => {
        fail(error.message)
        Logger.debug("LoginViewModel:error ", error.toString())
      })
    })
  }



}