CustomMessageModel.h 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. //
  2. // CustomMessageModel.h
  3. // BuguLive
  4. //
  5. // Created by xfg on 16/5/27.
  6. // Copyright © 2016年 xfg. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import "SenderModel.h"
  10. #import "AnimateConfigModel.h"
  11. #import "cuserModel.h"
  12. #import "GoodsModel.h"
  13. #import "MLEmojiLabel.h"
  14. #import "GameDataModel.h"
  15. #import "GameBankerModel.h"
  16. #import "BogoGuardianModel.h"
  17. #import "BogoShopKit.h"
  18. @class CustomMessageModel;
  19. @protocol CustomMessageModelDelegate <NSObject>
  20. @optional
  21. - (void)redPackageDisappear:(CustomMessageModel *)customMessageModel;
  22. @end
  23. @interface CustomMessageModel : NSObject<AVIMMsgAble>
  24. @property (nonatomic, weak) id<CustomMessageModelDelegate> delegate;
  25. /*
  26. * //0:普通消息;1:礼物;2:弹幕消息;3:主播退出;4:禁言;5:观众进入房间;6:观众退出房间;7:直播结束;8:红包;9:直播消息;10:主播离开;11:主播回来;12:点亮;13:申请连麦;14:接收连麦;15:拒绝连麦;16:断开连麦;。。。
  27. */
  28. @property (nonatomic, assign) int type;
  29. @property (nonatomic, assign) int data_type; // 结合type来使用
  30. @property(nonatomic, strong) NSDictionary *dicData;
  31. @property (nonatomic, assign) CGSize avimMsgShowSize; // 显示高度
  32. // ==============直播================
  33. // 普通文字消息
  34. @property (nonatomic, copy) NSString *text; // 发送的消息
  35. //声网dev
  36. @property(nonatomic, strong) NSString *link_mic_user_id;
  37. // 礼物相关
  38. @property (nonatomic, assign) int num; // 数量
  39. @property (nonatomic, assign) int is_plus; // 收到礼物时是否需要叠加
  40. @property (nonatomic, assign) int is_much; // 这个礼物是否可以连发
  41. @property (nonatomic, copy) NSString *prop_id; // 礼物ID
  42. @property (nonatomic, copy) NSString *animated_url; // 礼物动画url
  43. @property (nonatomic, copy) NSString *icon; // 礼物图标
  44. @property (nonatomic, copy) NSString *user_prop_id; // 红包时用到,抢红包的id
  45. @property (nonatomic, copy) NSString *to_user_id; // 礼物接收人(主播)
  46. @property (nonatomic, copy) NSString *fonts_color; // 字体颜色
  47. @property (nonatomic, copy) NSString *desc; // 普通群员收到的提示内容
  48. @property (nonatomic, copy) NSString *desc2; // 礼物接收人(主播)收到的提示内容
  49. @property (nonatomic, assign) NSInteger total_ticket; // 印票总数
  50. @property (nonatomic, strong) NSString *total_num; // 印票总数
  51. @property (nonatomic, assign) NSInteger is_animated; // 0:无动画 1:gif动画 2:真实动画
  52. @property (nonatomic, strong) NSMutableArray *anim_cfg; // 动画配置 cuserModel
  53. @property (nonatomic, strong) NSDictionary *data; // 观众列表
  54. // 礼物自定义参数
  55. @property (nonatomic, assign) BOOL isTaked; // 是否被播放过了
  56. @property (nonatomic, assign) int showNum; // 需要展示的数字
  57. @property (nonatomic, strong) UIImage *iconImage; // 消息列表中的单项消息后面跟着的礼物图标
  58. @property (nonatomic, copy) NSString *anim_type; // 礼物真实动画的类型
  59. @property (nonatomic, copy) NSString *top_title; // 送礼物的描述
  60. // 点亮
  61. @property (nonatomic, copy) NSString *imageName; // 星星名字
  62. @property (nonatomic, assign) BOOL isShowLightMessage; // 是否显示点亮了
  63. @property (nonatomic, assign) NSInteger showMsg; // 1:显示在消息列表中 0:不显示
  64. // 红包自定义参数
  65. @property (nonatomic, assign) BOOL isRedPackageTaked; // 红包是否被打开过了
  66. @property (nonatomic, copy) NSString * redPackageTip; // 红包的提示语
  67. @property (nonatomic, copy) NSString *chatGroupID; // 聊天组ID
  68. // 消息发送者的信息
  69. @property(nonatomic, strong) NSString *pk_id;//pkid
  70. @property (nonatomic, strong) SenderModel *sender;
  71. @property (nonatomic, strong) cuserModel *user;
  72. @property (nonatomic, copy) NSString *user_id; // 用户ID
  73. @property (nonatomic, copy) NSString *nick_name; // 昵称
  74. @property (nonatomic, copy) NSString *head_image; // 头像
  75. @property (nonatomic, copy) NSString *sex; // 性别
  76. @property (nonatomic, assign) NSInteger diamonds; // 砖石数量
  77. // 连麦
  78. @property (nonatomic, copy) NSString *push_rtmp2; // 腾讯云直播的小主播的 push_rtmp 推流地址(由大主播传给小主播)
  79. @property (nonatomic, copy) NSString *play_rtmp_acc; // 腾讯云直播的大主播的 rtmp_acc 播放地址(由大主播传给小主播)
  80. @property (nonatomic, copy) NSString *play_rtmp2_acc; // 腾讯云直播的小主播的 rtmp_acc 播放地址(大主播拉流)
  81. // ==============竞拍相关================
  82. // 观众结束页面
  83. @property (nonatomic, copy) NSString *show_num; // 主播主动退出直播,观众结束页面显示的观看人数
  84. // 竞拍结束页面
  85. @property (nonatomic, strong) NSArray *buyer;
  86. // 直播商品信息
  87. @property (nonatomic, strong) GoodsModel *goods; // 商品model
  88. @property (nonatomic, copy) NSString *is_self; // 是否买给自己,0表示送主播、1表示送自己
  89. @property (nonatomic, copy) NSString *score; // 经验
  90. // ==============游戏相关推送================
  91. // 游戏公用部分
  92. @property (nonatomic, copy) NSString *time; // 剩余时间
  93. @property (nonatomic, copy) NSString *game_id; // 游戏id(种类)
  94. @property (nonatomic, copy) NSString *game_status; // 游戏状态,1:游戏开始,2:游戏结束
  95. // 游戏下注推送
  96. @property (nonatomic, strong) GameDataModel *game_data; // 游戏数据(投注状态)
  97. // 游戏开始推送
  98. @property (nonatomic, copy) NSString *game_log_id; // 游戏id(轮数)
  99. @property (nonatomic, strong) NSArray *option; // 投注选项
  100. @property (nonatomic, strong) NSArray *bet_option; // 投注金额选项
  101. // 主播游戏收益推送
  102. @property (nonatomic, copy) NSString *podcast_income; // 主播单轮收益
  103. // 游戏操作,不同游戏略有不同:开始:start;下注:bet;停止:stop;结算:open;翻拍:flop;
  104. // 游戏操作,不同游戏略有不同:【开始:1;下注:2;停止:3;结算:4;翻牌:5】;(用于推送)
  105. @property (nonatomic, copy) NSString *game_action; // 主播单轮收益
  106. @property (nonatomic, strong) GameBankerModel *banker; // 玩家上庄数据
  107. @property (nonatomic, strong) NSArray *banker_list;
  108. @property (nonatomic, copy) NSString *banker_status; // 上庄状态
  109. @property (nonatomic, copy) NSString *action; // 上庄模块推送操作号,1:开启上庄,2:申请上庄,3:选择庄家,4:下庄
  110. @property (nonatomic, copy) NSString *room_id; // 房间号
  111. @property (nonatomic, copy) NSString *timestamp; // 游戏推送时间戳
  112. @property (nonatomic, assign) NSInteger auto_start; //0手动发牌,1自动发牌
  113. // ==============私聊================
  114. @property (nonatomic, copy) NSString *msg; // 消息
  115. @property (nonatomic, copy) NSString *pkid; // 消息
  116. @property (nonatomic, assign) NSInteger status; //pk状态
  117. //@property (nonatomic, assign) NSInteger guardian; //守护状态1是守护,2不是守护
  118. @property (nonatomic, assign) NSInteger is_guardian; //守护状态1是守护,2不是守护
  119. @property (nonatomic, strong) BogoGuardianModel *guardianModel;
  120. @property(nonatomic, strong) NSString *guardian_icon;//身份标识 1已开通 0没权限
  121. @property(nonatomic, strong) NSString *guardian_gift;//专属礼物 1已开通 0没有权限
  122. @property(nonatomic, strong) NSString *guardian_skin;//专属弹幕皮肤 1已开通 0没权限
  123. @property(nonatomic, strong) NSString *guardian_img;//守护标识
  124. @property(nonatomic, strong) NSString *guardian_broadcast;////开通守护全站广播 1 是
  125. @property(nonatomic, strong) NSString *guardian_kick;
  126. @property(nonatomic, strong) NSString *guardian_remind;
  127. @property(nonatomic, strong) NSString *guardian_name;
  128. @property (nonatomic, copy) NSString *is_vip;//vip状态,1是vip
  129. @property (nonatomic, copy) NSString *user_multiple;
  130. @property (nonatomic, copy) NSString *win_user_id;
  131. @property(nonatomic, copy) NSString *noble_name;
  132. @property(nonatomic, copy) NSString *noble_icon;
  133. @property(nonatomic, strong) BogoCommodityDetailShopModel *shopModel;
  134. @property (nonatomic, assign) NSInteger mute_status;// ==============方法================
  135. //faceurl
  136. @property (nonatomic, copy) NSString *faceUrl;
  137. // 红包何时消失的定时器
  138. - (void)startRedPackageTimer;
  139. - (void)stopRedPackageTimer;
  140. - (BOOL)isEquals:(CustomMessageModel *)customMessageModel;
  141. @end