222 lines
8.4 KiB
C
222 lines
8.4 KiB
C
|
|
//
|
||
|
|
// QXRoomMessageManager.h
|
||
|
|
// QXLive
|
||
|
|
//
|
||
|
|
// Created by 启星 on 2025/6/10.
|
||
|
|
//
|
||
|
|
|
||
|
|
#import <Foundation/Foundation.h>
|
||
|
|
#import "QXRoomChatListView.h"
|
||
|
|
#import "QXRoomModel.h"
|
||
|
|
|
||
|
|
typedef NS_ENUM(NSInteger) {
|
||
|
|
/// 清空消息
|
||
|
|
QXRoomMessageTypeClearMessage = 123,
|
||
|
|
/// 歌词同步
|
||
|
|
QXRoomMessageTypeSongLrc = 124,
|
||
|
|
/// pk屏蔽远端声音
|
||
|
|
QXRoomMessageTypeMuteRemoteAudio = 125,
|
||
|
|
/// 关闭自己声音
|
||
|
|
QXRoomMessageTypeMuteLocalAudio = 126,
|
||
|
|
/// 基础文本消息类型
|
||
|
|
QXRoomMessageTypeText = 1,
|
||
|
|
/// 系统消息
|
||
|
|
QXRoomMessageTypeSystem = 1000,
|
||
|
|
/// 用户进入房间
|
||
|
|
QXRoomMessageTypeJoin = 1001,
|
||
|
|
/// 用户退出房间
|
||
|
|
QXRoomMessageTypeQuit = 1002,
|
||
|
|
/// 用户上麦
|
||
|
|
QXRoomMessageTypeUpSeat = 1003,
|
||
|
|
/// 用户下麦
|
||
|
|
QXRoomMessageTypeDownSeat = 1004,
|
||
|
|
/// 房间收到礼物
|
||
|
|
QXRoomMessageTypeGift = 1005,
|
||
|
|
/// 设置管理员
|
||
|
|
QXRoomMessageTypeSetManage = 1006,
|
||
|
|
/// 设置主持
|
||
|
|
QXRoomMessageTypeSetCompere = 1007,
|
||
|
|
/// 禁麦/解禁
|
||
|
|
QXRoomMessageTypeSeatMute = 1008,
|
||
|
|
/// 锁麦/解除锁麦
|
||
|
|
QXRoomMessageTypeSeatLock = 1009,
|
||
|
|
/// 踢出房间
|
||
|
|
QXRoomMessageTypeTakeOff = 1011,
|
||
|
|
/// 房间类型发生变化
|
||
|
|
QXRoomMessageTypeRoomTypeChanged = 1012,
|
||
|
|
/// 点歌/切歌/同意点歌
|
||
|
|
QXRoomMessageTypeSwicthSong = 1013,
|
||
|
|
/// 上麦模式发生变化 自由麦 | 排麦
|
||
|
|
QXRoomMessageTypeAplayPitModeDidChanged = 1014,
|
||
|
|
/// pk房数值变化
|
||
|
|
QXRoomMessageTypePKValueDidChanged = 1015,
|
||
|
|
/// 用户 禁言|禁麦 ,解除禁言|解除禁麦
|
||
|
|
QXRoomMessageTypeRoomUserMute = 1016,
|
||
|
|
/// 管理员被删除
|
||
|
|
QXRoomMessageTypeManagerIsDelete = 1017,
|
||
|
|
/// 主持人被删除
|
||
|
|
QXRoomMessageTypeCompereIsDelete = 1018,
|
||
|
|
/// 点唱时魅力排行榜发生变化
|
||
|
|
QXRoomMessageTypeCharmRankList = 1019,
|
||
|
|
/// 房间信息发生变化是推送
|
||
|
|
QXRoomMessageTypeRoomInfoChanged = 1020,
|
||
|
|
/// 清除魅力
|
||
|
|
QXRoomMessageTypeRoomClearCharm = 1021,
|
||
|
|
/// 拍卖者上麦
|
||
|
|
QXRoomMessageTypeRoomAuctionUpSeat = 1022,
|
||
|
|
/// 拍卖开始 开始倒计时
|
||
|
|
QXRoomMessageTypeRoomAuctionStart = 1023,
|
||
|
|
/// 竞拍麦位发生变化
|
||
|
|
QXRoomMessageTypeRoomAuctionPitChanged = 1024,
|
||
|
|
/// 竞拍结束
|
||
|
|
QXRoomMessageTypeRoomAuctionEnd = 1025,
|
||
|
|
/// 竞拍主持延时
|
||
|
|
QXRoomMessageTypeRoomAuctionDelayTime = 1026,
|
||
|
|
/// 拍卖类型发生变化
|
||
|
|
QXRoomMessageTypeRoomAuctionTypeDidChanged = 1027,
|
||
|
|
/// 私密小屋
|
||
|
|
QXRoomMessageTypeRoomCabinRoomValueChanged = 1028,
|
||
|
|
/// 有人向我发起pk
|
||
|
|
QXRoomMessageTypeRoomRecieveInvitePk = 1029,
|
||
|
|
/// 拒绝或接受pk
|
||
|
|
QXRoomMessageTypeRoomPKAgreeOrRefuse = 1030,
|
||
|
|
/// pk开始
|
||
|
|
QXRoomMessageTypeRoomPKStart = 1031,
|
||
|
|
/// pk结束 惩罚时间
|
||
|
|
QXRoomMessageTypeRoomPKEnd = 1032,
|
||
|
|
/// pk断开
|
||
|
|
QXRoomMessageTypeRoomPKDisconnect = 1033,
|
||
|
|
/// 排麦人数发生变化
|
||
|
|
QXRoomMessageTypeRoomInLineNumber = 1034,
|
||
|
|
/// 用户信息发生变化时推送
|
||
|
|
QXRoomMessageTypeRoomUserInfoDidChanged = 1035,
|
||
|
|
/// 房间人数校正
|
||
|
|
QXRoomMessageTypeRoomOnlineNumber = 1036,
|
||
|
|
/// pk惩罚阶段失败方想跑路需要胜利方的同意
|
||
|
|
QXRoomMessageTypeRoomPkNeedAgree = 1037,
|
||
|
|
/// 房间盲盒开礼物文字消息
|
||
|
|
QXRoomMessageTypeRoomBlindBox = 1038,
|
||
|
|
/// 房间已被封禁
|
||
|
|
QXRoomMessageTypeRoomDidFire = 1039,
|
||
|
|
}QXRoomMessageType;
|
||
|
|
NS_ASSUME_NONNULL_BEGIN
|
||
|
|
@protocol QXRoomMessageManagerDelegate <NSObject>
|
||
|
|
|
||
|
|
@optional
|
||
|
|
/// 插入消息
|
||
|
|
-(void)didInsertMessge:(QXRoomChatListModel*)message;
|
||
|
|
/// 根据用户userid 插入消息
|
||
|
|
-(void)didInsertMessge:(QXRoomChatListModel*)message userId:(NSString*)userId;
|
||
|
|
/// 上下麦
|
||
|
|
-(void)didUpDownSeatWithUser:(QXUserHomeModel*)user isUpSeat:(BOOL)isUpSeat pit_number:(NSInteger)pit_number;
|
||
|
|
/// 上麦模式发生变化 2 自由麦 | 1 排麦
|
||
|
|
-(void)aplayPitModeDidChanged:(NSString*)upMicType;
|
||
|
|
/// 排麦人数发生变化
|
||
|
|
-(void)aplayMicInLineNumberDidChanged:(NSString*)number;
|
||
|
|
/// 清空消息
|
||
|
|
-(void)didClearAllMessage;
|
||
|
|
/// 有人发起点歌
|
||
|
|
-(void)applySongWaitAgreeWithUserNickname:(NSString*)nickname;
|
||
|
|
/// 主持人拒绝点歌
|
||
|
|
-(void)applySongNoAgreeWithUserId:(NSString*)userId;
|
||
|
|
/// 下一首歌状态发生变化
|
||
|
|
-(void)nextSongDidChangedWithNextSong:(QXSongListModel*)nextInfo;
|
||
|
|
/// 切歌
|
||
|
|
-(void)nextSongDidStartWithSongInfo:(QXSongListModel*)songInfo nextInfo:(QXSongListModel*)nextInfo;
|
||
|
|
/// 点歌房魅力发生变化
|
||
|
|
-(void)songRoomCharmRankListDidChanged:(NSArray<QXRoomPitModel *>*)list;
|
||
|
|
/// 房间内用户信息发生变化
|
||
|
|
-(void)roomUserInfoDidChanged:(QXUserHomeModel *)user;
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
/// 房间状态发生变化
|
||
|
|
-(void)roomTypeDidChanged;
|
||
|
|
/// 房间歌词
|
||
|
|
- (void)roomSongLrcProgress:(NSUInteger)progress;
|
||
|
|
/// 房间信息发生变化
|
||
|
|
- (void)roomInfoDidChanged:(QXRoomInfoModel*)roomInfo;
|
||
|
|
/// 房间管理员/主持人状态发生变化 isManager 是为管理员 否为主持 isAdd 是为添加 否为删除
|
||
|
|
- (void)roomSetManagerOrCompere:(QXUserHomeModel*)userInfo isManager:(BOOL)isManager isAdd:(BOOL)isAdd;
|
||
|
|
/// 踢出房间
|
||
|
|
-(void)userDidTakeOffWithUserInfo:(QXUserHomeModel*)userInfo;
|
||
|
|
/// 清除魅力
|
||
|
|
-(void)roomClearCharm;
|
||
|
|
/// 收到礼物
|
||
|
|
-(void)didRecieveGiftWithWithUserInfo:(QXUserHomeModel*)userInfo;
|
||
|
|
/// 用户禁言禁麦状态发生变化
|
||
|
|
-(void)userMuteStatusDidChanged:(QXUserHomeModel*)userInfo isMute:(NSString*)isMute isMutePit:(NSString*)isMutePit;
|
||
|
|
/// 麦位状态发生变化
|
||
|
|
-(void)roomSeatStatusDidChangedIsLock:(NSString*)is_lock pit_number:(NSString*)pit_number;
|
||
|
|
/// 用户进出房间
|
||
|
|
-(void)roomOnlineNumberDidChangedIsAdd:(BOOL)isAdd;
|
||
|
|
/// 10秒自动校正在线人数
|
||
|
|
-(void)roomOnlineNumberDidChangedOnlineNumber:(NSString*)onlineNumber;
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
/// 拍卖者被拉上麦
|
||
|
|
-(void)auctionUpSeatWithUserInfo:(QXUserHomeModel*)userInfo isUpSeat:(BOOL)isUpSeat;
|
||
|
|
/// 拍卖者列表发生变化
|
||
|
|
-(void)auctionListDidChanged:(NSArray<QXRoomPitModel *>*)auctionList;
|
||
|
|
/// 拍卖状态发生变化
|
||
|
|
-(void)auctionStartOrEndIsStart:(BOOL)isStart user:(QXRoomAuctionUser *)user getUser:(QXRoomAuctionUser*)getUser;
|
||
|
|
/// 拍卖时间延迟
|
||
|
|
-(void)auctionTimeDelayWithEndTime:(NSString*)endTime;
|
||
|
|
/// 拍卖类型发生变化
|
||
|
|
-(void)auctionTypeDidChanged:(NSString*)type;
|
||
|
|
/// 私密小屋心动值发生变化
|
||
|
|
-(void)cabinRoomValueDidChanged:(NSString*)hotValue;
|
||
|
|
|
||
|
|
|
||
|
|
/// 收到pk邀请
|
||
|
|
-(void)recievePKInviteWithSendRoomId:(NSString*)SendRoomId AcceptRoomId:(NSString*)AcceptRoomId PkId:(NSString*)PkId message:(NSString*)message;
|
||
|
|
/// 同意或拒绝pk邀请 user_id 与 room_id 为对方
|
||
|
|
-(void)agreeOrRefusePKIsAgree:(BOOL)isAgree user_id:(NSString*)user_id room_id:(NSString*)room_id pk_id:(NSString*)pk_id;
|
||
|
|
/// pk开始
|
||
|
|
-(void)pkStartWithPkEndTimes:(NSString*)pk_end_times pk_id:(NSString*)pk_id;
|
||
|
|
/// pk值发生变化 room_id_a发起者房间id create_value_a 发起者房间pk值 room_id_b 接收者房间id receive_value_b接受者房间pk值
|
||
|
|
-(void)roomPKValueDidChangedWithRoomIdA:(NSString*)room_id_a create_value_a:(NSString*)create_value_a room_id_b:(NSString*)room_id_b receive_value_b:(NSString*)receive_value_b;
|
||
|
|
/// pk结果 isVictory 0 负 1 胜 2平
|
||
|
|
-(void)pkResultWithIsVictory:(NSInteger)isVictory
|
||
|
|
end_time:(NSString*)end_time
|
||
|
|
victory_name:(NSString*)victory_name
|
||
|
|
victory_cover:(NSString*)victory_cover
|
||
|
|
defeated_name:(NSString*)defeated_name
|
||
|
|
defeated_cover:(NSString*)defeated_cover;
|
||
|
|
/// pk断开
|
||
|
|
-(void)pkDisConnect;
|
||
|
|
/// 是否屏蔽ok远端声音
|
||
|
|
-(void)pkMuteRemoteAudio:(BOOL)isMute fromUserInfo:(QXUserHomeModel*)fromUserInfo;
|
||
|
|
/// 惩罚阶段败方想跑路 胜方收到后决定要不要让他跑
|
||
|
|
-(void)roomPKRecieveLoserWantToRunRoadWithUserInfo:(QXUserHomeModel*)fromUserInfo;;
|
||
|
|
/// 收到抢头条
|
||
|
|
-(void)recieveHeadline:(QXHeadLineModel*)headline;
|
||
|
|
|
||
|
|
|
||
|
|
/// 查询用户状态
|
||
|
|
-(void)getUserStatusWithUsers:(NSArray <NSString*>*)users;
|
||
|
|
|
||
|
|
@end
|
||
|
|
@interface QXRoomMessageManager : NSObject
|
||
|
|
@property (nonatomic,weak)id<QXRoomMessageManagerDelegate>delegate;
|
||
|
|
|
||
|
|
+(instancetype)shared;
|
||
|
|
|
||
|
|
-(void)joinGroupWithRoomId:(NSString*)roomId;
|
||
|
|
|
||
|
|
-(void)quitGroupWithRoomId:(NSString*)roomId;
|
||
|
|
|
||
|
|
-(void)sendChatMessage:(NSString *)message messageType:(QXRoomMessageType)messageType needInsertMessage:(BOOL)needInsertMessage;
|
||
|
|
|
||
|
|
-(void)sendC2CMessage:(NSString *)message messageType:(QXRoomMessageType)messageType userId:(NSString*)userId;
|
||
|
|
@end
|
||
|
|
|
||
|
|
@interface QXRoomMessage : NSObject
|
||
|
|
@property (nonatomic,strong)NSString *RoomId;
|
||
|
|
@property (nonatomic,strong)NSString *MsgType;
|
||
|
|
@property (nonatomic,strong)NSDictionary *Text;
|
||
|
|
@end
|
||
|
|
|
||
|
|
NS_ASSUME_NONNULL_END
|