diff --git a/YuMi/Info.plist b/YuMi/Info.plist
index fdd06df6..3e127e29 100644
--- a/YuMi/Info.plist
+++ b/YuMi/Info.plist
@@ -54,7 +54,7 @@
CFBundleVersion
- 9
+ 1
FacebookAppID
1266232494209868
FacebookClientToken
diff --git a/YuMi/Modules/YMRoom/View/AnchorView/FansTeam/View/XPAnchorFansTeamViewController.m b/YuMi/Modules/YMRoom/View/AnchorView/FansTeam/View/XPAnchorFansTeamViewController.m
index bd40940b..997ce6f5 100644
--- a/YuMi/Modules/YMRoom/View/AnchorView/FansTeam/View/XPAnchorFansTeamViewController.m
+++ b/YuMi/Modules/YMRoom/View/AnchorView/FansTeam/View/XPAnchorFansTeamViewController.m
@@ -273,18 +273,24 @@
self.nameLabel.text = self.model.anchorNick;
self.countLabel.text = [NSString stringWithFormat:YMLocalizedString(@"XPAnchorFansTeamViewController0"), self.model.teamNum];
- XPAnchorFansPrivilegeModel *nameplateModel = self.model.privilegeConfigVos[0];
- self.nameplateImageView.imageUrl = nameplateModel.icon;
- self.nameplateLabel.text = nameplateModel.name;
- self.nameplateDescLabel.text = nameplateModel.desc;
- XPAnchorFansPrivilegeModel *giftModel = self.model.privilegeConfigVos[1];
- self.giftImageView.imageUrl = giftModel.icon;
- self.giftLabel.text = giftModel.name;
- self.giftDescLabel.text = giftModel.desc;
+ for (XPAnchorFansPrivilegeModel *obj in self.model.privilegeConfigVos) {
+ if(obj.type == 1){
+ XPAnchorFansPrivilegeModel *nameplateModel = obj;
+ self.nameplateImageView.imageUrl = nameplateModel.icon;
+ self.nameplateLabel.text = nameplateModel.name;
+ self.nameplateDescLabel.text = nameplateModel.desc;
+ }else if(obj.type == 2){
+ XPAnchorFansPrivilegeModel *giftModel = obj;
+ self.giftImageView.imageUrl = giftModel.icon;
+ self.giftLabel.text = giftModel.name;
+ self.giftDescLabel.text = giftModel.desc;
+ }else if(obj.type == 3){
+ XPAnchorFansPrivilegeModel *joinModel = obj;
+ self.joinLabel.text = joinModel.name;
+ self.iconImageView.imageUrl = joinModel.icon;
+ }
+ }
- XPAnchorFansPrivilegeModel *joinModel = self.model.privilegeConfigVos[2];
- self.joinLabel.text = joinModel.name;
- self.iconImageView.imageUrl = joinModel.icon;
CGFloat margin = 8;
for (int i = 0; i < 3; i++) {
@@ -323,7 +329,14 @@
- (void)joinButtonAction:(UIButton *)button {
button.userInteractionEnabled = NO;
- XPAnchorFansPrivilegeModel *joinModel = self.model.privilegeConfigVos[2];
+ XPAnchorFansPrivilegeModel *joinModel;
+ for (XPAnchorFansPrivilegeModel *obj in self.model.privilegeConfigVos) {
+ if(obj.type == 3){
+ joinModel = obj;
+ }
+ }
+ if(joinModel == nil)return;
+
[Api requestSendAnchorFansGift:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200) {
[self showSuccessToast:YMLocalizedString(@"XPAnchorFansTeamViewController1")];
diff --git a/YuMi/Modules/YMRoom/View/StageView/StageView.m b/YuMi/Modules/YMRoom/View/StageView/StageView.m
index 320df883..19c0d7e3 100644
--- a/YuMi/Modules/YMRoom/View/StageView/StageView.m
+++ b/YuMi/Modules/YMRoom/View/StageView/StageView.m
@@ -196,7 +196,44 @@
[[NIMSDK sharedSDK].chatroomManager updateChatroomQueueObject:request completion:^(NSError * _Nullable error) {
}];
}
-
+-(void)updateNIMMicroQueues{
+ RoomInfoModel* roomInfo = self.hostDelegate.getRoomInfo;
+ // 获取麦位的状态,并初始化 self.micQueue 。
+ [[NIMSDK sharedSDK].chatroomManager fetchChatroomInfo:[NSString stringWithFormat:@"%ld", (long)roomInfo.roomId] completion:^(NSError * _Nullable error, NIMChatroom * _Nullable chatroom) {
+ if (error) {
+ return;
+ }
+ NSDictionary *info = (NSDictionary *)[chatroom.ext toJSONObject];
+ NSDictionary *micState = [info[@"micQueue"] toJSONObject];
+ for (NSString *position in micState.allKeys) {
+ MicroStateModel *state = [MicroStateModel modelWithJSON:micState[position]];
+ MicroQueueModel *sequence = [self.micQueue objectForKey:position];
+ sequence.microState = state;
+ }
+ [self microQueueUpdated: NO];
+ }];
+ self.hadGetQueueInfoSuccess = NO;
+ // 获取麦位的用户,并初始化 self.micQueue 。
+ [[NIMSDK sharedSDK].chatroomManager fetchChatroomQueue:[NSString stringWithFormat:@"%ld", (long)roomInfo.roomId] completion:^(NSError * _Nullable error, NSArray *> * _Nullable info) {
+ if (error) return;
+ BOOL ownerRTCChange = NO;
+
+ for (NSDictionary *item in info) {
+ UserInfoModel *userInfo = [UserInfoModel modelWithJSON:item.allValues.firstObject];
+ NSString *position = item.allKeys.firstObject;
+ MicroQueueModel *sequence = [self.micQueue objectForKey:position];
+ sequence.userInfo = userInfo;
+ if (userInfo.uid == [AccountInfoStorage instance].getUid.integerValue) {
+ ownerRTCChange = YES;
+ }
+ }
+ [self microQueueUpdated:ownerRTCChange];
+ [self.hostDelegate onMicroQueueUpdate:self.micQueue];
+ self.hadGetQueueInfoSuccess = YES;
+
+ }];
+
+}
- (void)initGiftValue{
RoomInfoModel* roomInfo = self.hostDelegate.getRoomInfo;
// 获取礼物值
@@ -502,8 +539,10 @@
for (MicroQueueModel *sequence in self.micQueue.allValues) {
if ([AccountInfoStorage instance].getUid.integerValue == sequence.userInfo.uid) {
NIMChatroomQueueUpdateRequest *request = [[NIMChatroomQueueUpdateRequest alloc]init];
+ NSMutableDictionary *userInfo = [[NSMutableDictionary alloc]initWithDictionary:[sequence.userInfo toJSONObject]];
+ [userInfo setValue:@(YES) forKey:@"isNoProhibitMic"];
request.key = @(sequence.microState.position).stringValue;
- request.value = [sequence.userInfo toJSONString];
+ request.value = [userInfo toJSONString];
request.roomId = roomId;
request.transient = YES;
[[NIMSDK sharedSDK].chatroomManager updateChatroomQueueObject:request completion:^(NSError * _Nullable error) {
@@ -513,7 +552,7 @@
}
}
if (content.source.userId.integerValue == [AccountInfoStorage instance].getUid.integerValue){
- [self initNIMMicroQueues];
+ [self updateNIMMicroQueues];
}
}