Files
featherVoice/QXLive/Room(房间)/Controller/QXRoomViewController+Friend.m

122 lines
4.7 KiB
Mathematica
Raw Normal View History

2025-10-20 09:43:10 +08:00
//
// QXRoomViewController+Friend.m
// QXLive
//
// Created by on 2025/8/20.
//
#import "QXRoomViewController+Friend.h"
#import "QXAgoraEngine.h"
@implementation QXRoomViewController (Friend)
-(void)resetFriendViews{
[self.seatContentView setType:QXRoomSeatViewTypeFriend];
[self.seatContentView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.left.right.equalTo(self.view);
make.top.mas_equalTo(self.titleView.bottom);
make.height.mas_equalTo(ScaleWidth(377));
}];
[self.chatListView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.bottom.equalTo(self.bottomView.mas_top);
make.left.equalTo(self.view);
make.top.equalTo(self.seatContentView.mas_bottom);
// make.right.equalTo(self.soundBtn.mas_left).offset(-16);
make.width.mas_equalTo(ScaleWidth(280));
}];
}
-(void)friendPartDidChangedWithType:(NSString*)step friend_id:(NSString*)friend_id end_time:(NSString*)end_time relationModel:(nonnull QXRoomFriendRelationModel *)relationModel{
[self.seatContentView friendPartDidChangedWithType:step friend_id:friend_id end_time:end_time relationModel:relationModel];
}
-(void)friendTimeDelayWithTime:(NSString *)end_time{
[self.seatContentView friendTimeDelayWithTime:end_time];
}
-(void)friendSeatDidChanged:(NSArray<QXRoomPitModel *> *)pitArray{
BOOL haveMe = NO;
if (self.seatContentView.myPitNumber == 9 || self.seatContentView.myPitNumber == 10) {
haveMe = YES;
}
for (QXRoomPitModel*md in pitArray) {
if ([md.user_id isEqualToString:QXGlobal.shareGlobal.loginModel.user_id]) {
self.seatContentView.myPitNumber = md.pit_number.integerValue;
haveMe = YES;
break;
}
}
if (haveMe == NO) {
self.bottomView.status = 1;
[[QXAgoraEngine sharedEngine] setClientRoleBroadcaster:NO];
}else{
self.bottomView.status = 2;
if ([QXAgoraEngine sharedEngine].isOpenMic) {
[self.bottomView setMuteAudioStatus:1];
}else{
[self.bottomView setMuteAudioStatus:0];
}
}
[self.seatContentView friendSeatDidChanged:pitArray];
}
-(void)friendPowerSendGiftWithUser:(QXRoomPitModel *)user heartId:(NSString *)heartId{
self.sendGiftView.type = QXSendGiftViewTypeFriend;
QXRoomPitModel *model = [[QXRoomPitModel alloc] init];
model.pit_number = user.pit_number;
model.user_id = user.user_id;
model.nickname = user.nickname;
model.avatar = user.avatar;
self.sendGiftView.userModel = model;
self.sendGiftView.heartId = heartId;
self.sendGiftView.roomId = self.roomId;
[self.sendGiftView showInView:self.view];
}
-(void)friendHeartNumberDidChanged:(NSArray<QXRoomFriendHeartListModel *> *)heartArray{
[self.seatContentView friendHeartNumberDidChanged:heartArray];
}
///
-(void)friendRelationIsCreatedWithrelationModel:(QXRoomFriendRelationModel*)relationModel{
[self.seatContentView friendRelationIsCreatedWithrelationModel:relationModel];
}
/// 退
-(void)friendCabinRoomIsQuit{
2025-12-04 23:35:49 +08:00
[[QXGlobal shareGlobal] quitRoomWithRoomId:self.roomId removeListener:YES];
2025-10-20 09:43:10 +08:00
NSMutableArray *viewControllers = [NSMutableArray arrayWithArray:self.navigationController.viewControllers];
for (int i = 0; i < viewControllers.count; i++) {
UIViewController *vc = [viewControllers objectAtIndex:i];
if ([vc isEqual:self]) {
QXRoomViewController *roomVc = [[QXRoomViewController alloc] init];
roomVc.roomId = QXGlobal.shareGlobal.superRoomId;
[viewControllers insertObject:roomVc atIndex:i];
break;
}
}
self.navigationController.viewControllers = viewControllers;
[self.navigationController popViewControllerAnimated:YES];
QXGlobal.shareGlobal.superRoomId = @"";
// [self.navigationController popViewControllerAnimated:YES];
}
///
-(void)friendCabinRoomTimeDelayWithTime:(NSString*)end_time{
[self.seatContentView friendCabinRoomTimeDelayWithTime:end_time];
}
-(void)meetActivityProgressIsUpdate:(NSDictionary *)updateDict{
QXXLHModel *model = [QXXLHModel yy_modelWithJSON:updateDict[@"xlh_data"]];
[self.skyView updateProgress:model];
[self.ageView updateProgress:model];
[self.timeView updateProgress:model];
if (model.status.intValue == 1) {
self.acTagView.end_time = model.end_time;
[self.view addSubview:self.acTagView];
}else{
[self.acTagView stopTimer];
[self.acTagView removeFromSuperview];
}
}
-(void)meetActivityGiftInfoIsUpdate:(QXRoomChatListModel *)giftInfo{
// [self.meetView updateUserAndGiftInfoWithModel:giftInfo];
// self.acTagView.end_time = giftInfo.end_time.longLongValue;
}
@end