交友房初步完成

This commit is contained in:
启星
2025-08-22 19:02:44 +08:00
parent 4ab82fa98f
commit ddeec09ea5
147 changed files with 3566 additions and 363 deletions

View File

@@ -8,6 +8,7 @@
#import <Foundation/Foundation.h>
#import "QXRoomChatListView.h"
#import "QXRoomModel.h"
#import "QXRoomFriendRelationModel.h"
typedef NS_ENUM(NSInteger) {
/// 清空消息
@@ -98,6 +99,21 @@ typedef NS_ENUM(NSInteger) {
QXRoomMessageTypeRoomBlindBox = 1038,
/// 房间已被封禁
QXRoomMessageTypeRoomDidFire = 1039,
/// 交友房阶段发生变化
QXRoomMessageTypeRoomFriendPartDidChanged = 1049,
/// 交友房时间发生延时
QXRoomMessageTypeRoomFriendDelayTime = 1050,
/// 交友房卡关系完成
QXRoomMessageTypeRoomFriendCreateRelation = 1051,
/// 私密小屋结束时间发生延时
QXRoomMessageTypeCabinTimeDelay = 1052,
/// 麦位发生变化
QXRoomMessageTypeSeatDidChanged = 1053,
/// 心动值发生变化
QXRoomMessageTypeHeartDidChanged = 1054,
/// 交友房私密小屋有人退出房间
QXRoomMessageTypeFriendRoomQuit = 1055,
}QXRoomMessageType;
NS_ASSUME_NONNULL_BEGIN
@protocol QXRoomMessageManagerDelegate <NSObject>
@@ -195,7 +211,23 @@ NS_ASSUME_NONNULL_BEGIN
/// 查询用户状态
-(void)getUserStatusWithUsers:(NSArray <NSString*>*)users;
//-(void)getUserStatusWithUsers:(NSArray <NSString*>*)users;
/// 交友房
/// 交友房阶段发生变化 step 阶段 1等待 2心动 3牵手 friend_id 场次id
-(void)friendPartDidChangedWithType:(NSString*)step friend_id:(NSString*)friend_id end_time:(NSString*)end_time relationModel:(QXRoomFriendRelationModel*)relationModel;
/// 交友房时间发生延时 end_time 截止时间
-(void)friendTimeDelayWithTime:(NSString*)end_time;
/// 交友房麦位发生变化
-(void)friendSeatDidChanged:(NSArray<QXRoomPitModel*>*)pitArray;
/// 心动值发生变化
-(void)friendHeartNumberDidChanged:(NSArray<QXRoomFriendHeartListModel*>*)heartArray;
/// 关系创建完成
-(void)friendRelationIsCreatedWithrelationModel:(QXRoomFriendRelationModel*)relationModel;
/// 有人退出交友房私密小屋
-(void)friendCabinRoomIsQuit;
/// 私密小屋时间发生延时
-(void)friendCabinRoomTimeDelayWithTime:(NSString*)end_time;
@end
@interface QXRoomMessageManager : NSObject

View File

@@ -486,7 +486,7 @@
case QXRoomMessageTypeRoomBlindBox:{
QXRoomChatListModel *model = [QXRoomChatListModel yy_modelWithJSON:msg.Text];
model.messageType = QXRoomChatMessageTypeChat;
model.messageType = QXRoomChatMessageTypeGift;
if (self.delegate && [self.delegate respondsToSelector:@selector(didInsertMessge:)]) {
[self.delegate didInsertMessge:model];
}
@@ -498,6 +498,59 @@
if (self.delegate && [self.delegate respondsToSelector:@selector(roomUserInfoDidChanged:)]) {
[self.delegate roomUserInfoDidChanged:model.FromUserInfo];
}
}
break;
///
case QXRoomMessageTypeRoomFriendPartDidChanged:{
QXRoomChatListModel *model = [QXRoomChatListModel yy_modelWithJSON:msg.Text];
if (self.delegate && [self.delegate respondsToSelector:@selector(friendPartDidChangedWithType:friend_id:end_time:relationModel:)]) {
[self.delegate friendPartDidChangedWithType:model.step friend_id:model.friend_id end_time:model.end_time relationModel:model.friend_user];
}
if (self.delegate && [self.delegate respondsToSelector:@selector(didInsertMessge:)]) {
model.messageType = QXRoomChatMessageTypeSystem;
[self.delegate didInsertMessge:model];
}
}
break;
case QXRoomMessageTypeRoomFriendDelayTime:{
NSString *end_time = [NSString stringWithFormat:@"%@",msg.Text[@"end_time"]];
if (self.delegate && [self.delegate respondsToSelector:@selector(friendTimeDelayWithTime:)]) {
[self.delegate friendTimeDelayWithTime:end_time];
}
}
break;
case QXRoomMessageTypeSeatDidChanged:{
NSArray *pitArray = [NSArray yy_modelArrayWithClass:[QXRoomPitModel class] json:msg.Text[@"list"]];
if (self.delegate && [self.delegate respondsToSelector:@selector(friendSeatDidChanged:)]) {
[self.delegate friendSeatDidChanged:pitArray];
}
}
break;
case QXRoomMessageTypeHeartDidChanged:{
NSArray *heartArray = [NSArray yy_modelArrayWithClass:[QXRoomFriendHeartListModel class] json:msg.Text[@"list"]];
if (self.delegate && [self.delegate respondsToSelector:@selector(friendHeartNumberDidChanged:)]) {
[self.delegate friendHeartNumberDidChanged:heartArray];
}
}
break;
case QXRoomMessageTypeRoomFriendCreateRelation:{
QXRoomFriendRelationModel *relationModel = [QXRoomFriendRelationModel yy_modelWithJSON:msg.Text[@"relation"]];
if (self.delegate && [self.delegate respondsToSelector:@selector(friendRelationIsCreatedWithrelationModel:)]) {
[self.delegate friendRelationIsCreatedWithrelationModel:relationModel];
}
}
break;
case QXRoomMessageTypeFriendRoomQuit:{
if (self.delegate && [self.delegate respondsToSelector:@selector(friendCabinRoomIsQuit)]) {
[self.delegate friendCabinRoomIsQuit];
}
}
break;
case QXRoomMessageTypeCabinTimeDelay:{
NSString *end_time = [NSString stringWithFormat:@"%@",msg.Text[@"time_day"]];
if (self.delegate && [self.delegate respondsToSelector:@selector(friendCabinRoomTimeDelayWithTime:)]) {
[self.delegate friendCabinRoomTimeDelayWithTime:end_time];
}
}
break;
default: