LiveRoomBean.ets 3.18 KB
import { FullColumnImgUrlDTO } from '../detail/FullColumnImgUrlDTO'
export interface LiveRoomBean {
  pageNum: number
  pageSize: number
  totalCount: number
  barrageResponses: Array<LiveRoomItemBean>
}

export interface LiveRoomItemBean {
  // 消息id
  id: string
  text: string
  senderUserAvatarUrl: string
  senderUserName: string
  pictureUrls: string[]
  time: string
  //1上墙0未上墙
  isWall: number
  //是否置顶 1置顶0不置顶
  isTop: number
  //guest :嘉宾,host:主持人
  role: string
  //ZH_TEXT_AND_IMAGE_MSG :图文,ZH_TEXT_MSG:文本,ZH_VIDEO_MSG:视频,ZH_AUDIO_MSG:音频
  dataType: LiveMessageOptType
  //管理直播间的消息类型 ZH_BARRAGE_SWITCH_MSG:弹幕开关 ZH_TOP_MSG:置顶,ZH_UN_TOP_MSG:取消置顶 ZH_STOP_LIVE: 直播结束,ZH_CHANGE_PAD直播垫片等
  optionType: LiveMessageOptType
  ///房间类型,标识这个消息属于大家聊还是直播间,ZH_VIDEO:直播间 ZH_CHAT:大家聊
  messageRoom: LiveMessageRoomType
  //视频封面图
  transcodeImageUrl: string
  //视频地址
  videoUrl: string
  //图片宽高
  pictureResolutions: string[]
  //音视频长度
  duration: number
  //音频地址
  audioUrl: string
  //详情页面插入数据bean
  fullColumnImgUrlDto: FullColumnImgUrlDTO
  //观看人次
  pv: string

  ///------- from IM
  // 自义定表情
  customizeExpression: number
  // 已登录的用户id
  senderUserId?: string
  // 未登录的设备id
  deviceId?: string
  // data字段,评论预显开关
  data?: string
  // receiver
  receiverText?: string
  receiverTime?: string
  receiverUserId?: string
  receiverUserName?: string
  receiverAvatarUrl?: string

  // 自定义字段
  customFormIM?: boolean  // 默认来自网络接口
}

export enum LiveMessageOptType {
  ZH_BARRAGE_SWITCH_MSG = "ZH_BARRAGE_SWITCH_MSG",
  ZH_UPDATE_MSG = "ZH_UPDATE_MSG",
  ZH_DELETE_MSG = "ZH_DELETE_MSG",
  ZH_TOP_MSG = "ZH_TOP_MSG",
  ZH_UN_TOP_MSG = "ZH_UN_TOP_MSG",
  ZH_STOP_LIVE = "ZH_STOP_LIVE",
  ZH_CHANGE_PAD = "ZH_CHANGE_PAD",
  ZH_PRE_DISPLAY_CHANGE = "ZH_PRE_DISPLAY_CHANGE",
  ZH_TEXT_MSG = "ZH_TEXT_MSG",
  ZH_IMAGE_MSG = "ZH_IMAGE_MSG",
  ZH_TEXT_AND_IMAGE_MSG = "ZH_TEXT_AND_IMAGE_MSG",
  ZH_WALL_MSG = "ZH_WALL_MSG",
  ZH_AUDIO_MSG = "ZH_AUDIO_MSG",
  ZH_VIDEO_MSG = "ZH_VIDEO_MSG",
  ZH_REPLY_MSG = "ZH_REPLY_MSG",
  ZH_ROOM_NUMBER_MSG = "ZH_ROOM_NUMBER_MSG",
  ZH_BARRAGE_BAN_MESSAGE = "ZH_BARRAGE_BAN_MESSAGE",
  ZH_BARRAGE_UNBAN_MESSAGE = "ZH_BARRAGE_UNBAN_MESSAGE",
  ZH_VOTE_MESSAGE = "ZH_VOTE_MESSAGE",
  ZH_START_LIVE = "ZH_START_LIVE",
}

export enum LiveMessageRoomType {
  living = "ZH_VIDEO",    // 直播间
  chat = "ZH_CHAT",       // 大家聊
}

export enum LiveMessageRole {
  host = "host",
  guest = "guest",
  tourist = "tourist",
}

export function LiveMessageIsHistoryMessage(optionType: LiveMessageOptType): boolean {
  let isHistoryMessage = false
  switch (optionType) {
    case LiveMessageOptType.ZH_TEXT_MSG:
    case LiveMessageOptType.ZH_IMAGE_MSG:
    case LiveMessageOptType.ZH_TEXT_AND_IMAGE_MSG:
    case LiveMessageOptType.ZH_AUDIO_MSG:
    case LiveMessageOptType.ZH_VIDEO_MSG: {
      isHistoryMessage = true
    } break;
    default:
      break;
  }
  return isHistoryMessage
}