MOLiveUserInfoView.h 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. //
  2. // MOLiveUserInfoView.h
  3. // MiMoLive
  4. //
  5. // Created by SuperC on 2023/11/27.
  6. //
  7. /** 用户在线状态 */
  8. typedef NS_ENUM(NSUInteger, MOLiveUserInfoViewType)
  9. {
  10. MOLiveUserInfoViewTypeNormal, //普通
  11. MOLiveUserInfoViewTypeManager, //管理员
  12. MOLiveUserInfoViewTypeAnchor //主播
  13. };
  14. #import <UIKit/UIKit.h>
  15. #import "MOPersonModels.h"
  16. NS_ASSUME_NONNULL_BEGIN
  17. @interface MOLiveUserInfoView : UIView
  18. @property (nonatomic, copy) NSString *userId;
  19. @property (nonatomic, copy) NSString *roomId;
  20. @property (nonatomic, strong) MOUserBase *userModel;
  21. @property (nonatomic, strong) MOUserProfile *anchorProfile;
  22. /** 是否是创建的直播间 (主播开播) */
  23. @property (nonatomic, assign) BOOL isCreatLive;
  24. /** 当前主播ID */
  25. @property (nonatomic, assign) BOOL currentAnchorId;
  26. /** 是否是管理员 */
  27. @property (nonatomic, assign) BOOL isManager;
  28. @property (nonatomic, assign) MOLiveUserInfoViewType viewType;
  29. @property (nonatomic, copy) void (^reportBtnBlock)(void);
  30. @property (nonatomic, copy) void (^editBtnBlock)(void);
  31. @property (nonatomic, copy) void (^familyBtnBlock)(void);
  32. @property (nonatomic, copy) void (^fanClubBtnBlock)(void);
  33. @property (nonatomic, copy) void (^focusBtnBlock)(void);
  34. @property (nonatomic, copy) void (^giftBtnBlock)(void);
  35. @property (nonatomic, copy) void (^chatBtnBlock)(MOUserBase *userModel);
  36. @property (nonatomic, copy) void (^headBtnBlock)(MOUserBase *userModel);
  37. @property (nonatomic, copy) void (^followChangeBlock)(MOUserBase *userModel);
  38. @property (nonatomic, copy) void (^silenceChangeBlock)(NSString *userName, BOOL isSilence);
  39. @property (nonatomic, copy) void (^aiteActionBlock)(MOUserBase *userModel);
  40. @property (nonatomic, copy) void (^needShowMsgBlock)(MORtmEntity *entity);
  41. /** 不在当前直播间 (比如点击半小时榜/Pk榜) */
  42. @property (nonatomic, assign) BOOL isNoCurrentRoom;
  43. @property (nonatomic, assign) BOOL multiple;
  44. @property (nonatomic, strong) NSArray *linkMics;
  45. @property (nonatomic, assign) BOOL camera;
  46. /** 挂断回调 */
  47. @property (nonatomic, copy) void (^hangUpBlock)(MOLinkMic *linkCellModel);
  48. @property (nonatomic, copy) void (^dismissViewBlock)(NSString *userId);
  49. /** 房间状态变化回调 */
  50. @property (nonatomic, copy) void (^roomStatusChangeBlock)(MORoomStatus *roomStatus);
  51. + (instancetype)moLiveUserInfoView;
  52. - (void)getUserInfo;
  53. - (void)showLiveUserInfoView;
  54. - (void)dismissLiveUserInfoView;
  55. - (void)updataMutipleView;
  56. #pragma mark - Pk
  57. /** 是否是其他主播的视图 (PK房间) */
  58. @property (nonatomic, assign) BOOL isOtherAnchorView;
  59. /** 是否主播打开了对方主播的消息框 */
  60. @property (nonatomic, assign) BOOL isCreateOpen;
  61. /** 去对方直播间 */
  62. @property (nonatomic, copy) void (^liveGoBtnClickBlock)(void);
  63. @end
  64. NS_ASSUME_NONNULL_END