diff --git a/YuMi/CustomUI/UIImageView/NetImageView.h b/YuMi/CustomUI/UIImageView/NetImageView.h index 31264a01..c5b99c87 100644 --- a/YuMi/CustomUI/UIImageView/NetImageView.h +++ b/YuMi/CustomUI/UIImageView/NetImageView.h @@ -35,6 +35,8 @@ typedef NS_ENUM(NSInteger, NetImageState){ - (void)loadImage:(LoadCompletion _Nullable)completion; - (void)loadImageWithUrl:(NSString * _Nonnull)imageUrl completion:(LoadCompletion _Nullable)completion; - (void)loadImageWithUrl:(NSString * _Nonnull)imageUrl completion:(LoadCompletion)completion fail:(LoadFail)fail; + +- (void)updateConfigPlaceHolder:(UIImage *)image; @end NS_ASSUME_NONNULL_END diff --git a/YuMi/CustomUI/UIImageView/NetImageView.m b/YuMi/CustomUI/UIImageView/NetImageView.m index 9eefed8e..5cdc2597 100644 --- a/YuMi/CustomUI/UIImageView/NetImageView.m +++ b/YuMi/CustomUI/UIImageView/NetImageView.m @@ -100,7 +100,10 @@ - (void)loadImage:(LoadCompletion)completion { self.state = NetImageStateLoading; @kWeakify(self); - [self sd_setImageWithURL:[NSURL URLWithString:_innerConfigUrl] placeholderImage:self.config.placeHolder options:SDWebImageRetryFailed completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) { + [self sd_setImageWithURL:[NSURL URLWithString:_innerConfigUrl] + placeholderImage:self.config.placeHolder + options:SDWebImageRetryFailed + completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) { @kStrongify(self); if (error) { self.state = NetImageStateUnload; @@ -145,4 +148,8 @@ return _config; } +- (void)updateConfigPlaceHolder:(UIImage *)image { + self.config.placeHolder = image; +} + @end diff --git a/YuMi/CustomUI/UIImageView/UIImageConstant.m b/YuMi/CustomUI/UIImageView/UIImageConstant.m index 9cbcad25..fa03de3d 100644 --- a/YuMi/CustomUI/UIImageView/UIImageConstant.m +++ b/YuMi/CustomUI/UIImageView/UIImageConstant.m @@ -32,7 +32,7 @@ NSString * const kImageTypeMonentsPhoto = @"imageMogr2/auto-orient/thumbnail/400 ///空白头像缺省图 + (UIImage *)defaultEmptyAvatarPlaceholder { - return [UIImage imageNamed:@"common_empty_avatar"]; + return [UIImage imageNamed:@"common_avatar"]; } /// 空白图的占位图 diff --git a/YuMi/Modules/YMMessage/View/Session/Cell/SessionUserInfoTableViewCell.m b/YuMi/Modules/YMMessage/View/Session/Cell/SessionUserInfoTableViewCell.m index a3f01e26..7a8e637a 100644 --- a/YuMi/Modules/YMMessage/View/Session/Cell/SessionUserInfoTableViewCell.m +++ b/YuMi/Modules/YMMessage/View/Session/Cell/SessionUserInfoTableViewCell.m @@ -279,7 +279,7 @@ self.headWearImageView.hidden = YES; self.headWearSVGAImageView.hidden = YES; } else { - if (userInfo.headwearType == 1) { + if ([userInfo isHeadWearSVGA]) { self.headWearSVGAImageView.hidden = NO; [self.headWearSVGAImageView setImageName:headurl]; } else { diff --git a/YuMi/Modules/YMMessage/View/Session/MSSessionPublicChatHallVC.m b/YuMi/Modules/YMMessage/View/Session/MSSessionPublicChatHallVC.m index 9267834c..fd490676 100644 --- a/YuMi/Modules/YMMessage/View/Session/MSSessionPublicChatHallVC.m +++ b/YuMi/Modules/YMMessage/View/Session/MSSessionPublicChatHallVC.m @@ -694,7 +694,7 @@ extModel.fromSayHelloChannel = userInfo.fromSayHelloChannel; extModel.avatar = userInfo.avatar; extModel.nick = userInfo.nick; - extModel.headWearType = userInfo.headwearType; + extModel.headWearType = [userInfo isHeadWearSVGA] ? 1 : 0; NSString *headwearUrl= userInfo.headwearEffect.length > 0 ? userInfo.headwearEffect : userInfo.headwearPic; extModel.headWearUrl = headwearUrl; NSMutableDictionary *remoteExt = [NSMutableDictionary dictionaryWithObject:extModel.model2dictionary forKey:[AccountInfoStorage instance].getUid]; diff --git a/YuMi/Modules/YMMine/View/SubViews/MineInfo/XPMineUserInfoHeaderView.m b/YuMi/Modules/YMMine/View/SubViews/MineInfo/XPMineUserInfoHeaderView.m index be8d65b0..7dcf18c6 100644 --- a/YuMi/Modules/YMMine/View/SubViews/MineInfo/XPMineUserInfoHeaderView.m +++ b/YuMi/Modules/YMMine/View/SubViews/MineInfo/XPMineUserInfoHeaderView.m @@ -773,7 +773,7 @@ return view;\ self.headWearImageView.hidden = YES; self.headWearSvgaImageView.hidden = YES; } else { - if (self.userInfo.headwearType == 1) { + if ([self.userInfo isHeadWearSVGA]) { [self playSVGA:headerUrl]; } else { [self playAnimate:headerUrl]; diff --git a/YuMi/Modules/YMRoom/Presenter/XPRoomPresenter.m b/YuMi/Modules/YMRoom/Presenter/XPRoomPresenter.m index 30171ed5..4a628532 100644 --- a/YuMi/Modules/YMRoom/Presenter/XPRoomPresenter.m +++ b/YuMi/Modules/YMRoom/Presenter/XPRoomPresenter.m @@ -277,7 +277,7 @@ redModel.sendUserNick = data.data[@"nick"]; redModel.sendUserAvatar = data.data[@"avatar"]; redModel.redEnvelopePosition = data.data[@"position"]; - [[self getView]getRedPacketInftSuccess:redModel]; + [[self getView]getRedPacketInfoSuccess:redModel]; }] redEnvelopeId:redEnvelopeId]; } -(void)getRoomFirstCharegWindow:(NSString *)roomUid{ diff --git a/YuMi/Modules/YMRoom/Protocol/XPRoomProtocol.h b/YuMi/Modules/YMRoom/Protocol/XPRoomProtocol.h index e283d3ee..c8b57aa2 100644 --- a/YuMi/Modules/YMRoom/Protocol/XPRoomProtocol.h +++ b/YuMi/Modules/YMRoom/Protocol/XPRoomProtocol.h @@ -30,7 +30,7 @@ NS_ASSUME_NONNULL_BEGIN ///获取红包成功 - (void)getRedPacketSuccess:(NSArray *)list; ///获取红包成功 -- (void)getRedPacketInftSuccess:(XPRedPacketModel *)redInfo; +- (void)getRedPacketInfoSuccess:(XPRedPacketModel *)redInfo; ///获取首充弹窗 -(void)getRoomFirstChargeWindowSuccess:(FirstChargeRoomWindowModel*)model; ///屏蔽 diff --git a/YuMi/Modules/YMRoom/View/AnimationView/Model/PIBaseAnimationViewModel.h b/YuMi/Modules/YMRoom/View/AnimationView/Model/PIBaseAnimationViewModel.h index f043ba1b..849724c9 100644 --- a/YuMi/Modules/YMRoom/View/AnimationView/Model/PIBaseAnimationViewModel.h +++ b/YuMi/Modules/YMRoom/View/AnimationView/Model/PIBaseAnimationViewModel.h @@ -33,7 +33,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic,assign) NSInteger uid; @property (nonatomic,copy) NSString *roomUid; @property (nonatomic,copy) NSString *goldPrice; -@property (nonatomic,assign) BOOL isInRoomVisiable; +@property (nonatomic,assign) BOOL isInRoomVisable; @property(nonatomic,assign) GiftBannerType type; @property (nonatomic,copy) NSDictionary *data; diff --git a/YuMi/Modules/YMRoom/View/AnimationView/XPRoomAnimationView.m b/YuMi/Modules/YMRoom/View/AnimationView/XPRoomAnimationView.m index a338f62d..f565a95c 100644 --- a/YuMi/Modules/YMRoom/View/AnimationView/XPRoomAnimationView.m +++ b/YuMi/Modules/YMRoom/View/AnimationView/XPRoomAnimationView.m @@ -462,7 +462,7 @@ moveAnimation.duration = 0.5; moveAnimation.repeatCount = 1; moveAnimation.removedOnCompletion = YES; -// @kWeakify(self); + [moveAnimation setCompletionBlock:^(POPAnimation *anim, BOOL finished) { @kStrongify(self); if (finished) { @@ -540,12 +540,6 @@ if(self.animationListB.count > 0){ [self.animationListB removeObjectAtIndex:0]; } - // if(self. isAnimationListAFinish == YES){ - // - // [self playAnimationWithModel]; - // self.isAnimationListAFinish = NO; - // return; - // } [self playAnimationWithModel]; } }]; @@ -609,12 +603,6 @@ if (self.animationListB.count > 0) { [self.animationListB removeObjectAtIndex:0]; } - // if(self. isAnimationListAFinish == YES){ - // - // [self playAnimationWithModel]; - // self.isAnimationListAFinish = NO; - // return; - // } [self playAnimationWithModel]; } }]; @@ -1717,7 +1705,7 @@ PIBaseAnimationViewModel * prizeModel = [PIBaseAnimationViewModel modelWithDictionary:attachment.data]; prizeModel.type = GiftBannerType_Lucky; - prizeModel.isInRoomVisiable = attachment.second == Custom_Message_Sub_Room_Gift_LuckBag; + prizeModel.isInRoomVisable = attachment.second == Custom_Message_Sub_Room_Gift_LuckBag; if(self.animationListB.count == 0 && self.isPlayOfB == NO){ [self createBigPrizeAnimation:prizeModel]; @@ -1814,7 +1802,9 @@ } return; } + if(self.isPlayOfB == YES)return; + PIBaseAnimationViewModel *model = self.animationListB.firstObject; if(model.type == GiftBannerType_Lucky){ [self createBigPrizeAnimation:model]; @@ -1854,7 +1844,7 @@ [kWindow addSubview:broadcastView]; return; } - if (!giftInfo.isInRoomVisiable && giftInfo.roomUid.length > 0 && giftInfo.roomUid.integerValue != self.delegate.getRoomInfo.uid) { + if (!giftInfo.isInRoomVisable && giftInfo.roomUid.length > 0 && giftInfo.roomUid.integerValue != self.delegate.getRoomInfo.uid) { [self.delegate exitRoom]; dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ [XPRoomViewController openRoom:giftInfo.roomUid viewController:[XCCurrentVCStackManager shareManager].getCurrentVC]; @@ -1868,13 +1858,13 @@ if ([self isInSudGame]) {return;} if(receiveInfo.isHomeShow == YES)return; ///CPU警告的时候 需要停止接收动画 - RoomInfoModel * roomInfor = [self.delegate getRoomInfo]; + RoomInfoModel * roomInfo = [self.delegate getRoomInfo]; if (receiveInfo.isLuckyBagGift) { if (receiveInfo.isShowAnimation) { //如果是福袋礼物的话 就不用看他的价值了 只要有SVGA的话 就播放 if (receiveInfo.displayGift.count > 0) { [receiveInfo.displayGift enumerateObjectsUsingBlock:^(GiftInfoModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { - if ((obj.otherViewType == GiftOtherViewTypeMp4 || obj.otherViewType == GiftOtherViewTypePag) && obj.viewUrl && obj.viewUrl.length > 0 && roomInfor.hasAnimationEffect) { + if ((obj.otherViewType == GiftOtherViewTypeMp4 || obj.otherViewType == GiftOtherViewTypePag) && obj.viewUrl && obj.viewUrl.length > 0 && roomInfo.hasAnimationEffect) { GiftReceiveInfoModel * model = [[GiftReceiveInfoModel alloc] init]; model.viewUrl = obj.viewUrl; model.avatar = receiveInfo.sendUserAvatar; @@ -1886,9 +1876,7 @@ model.targetAvatar = receiveInfo.targetAvatar; model.targetNick = receiveInfo.targetNick; [self.svgaQueue addObject:model]; - - // [self.animationListA addObject:model]; - } else if (obj.hasVggPic && roomInfor.hasAnimationEffect) { + } else if (obj.hasVggPic && roomInfo.hasAnimationEffect) { GiftReceiveInfoModel * model = [[GiftReceiveInfoModel alloc] init]; model.viewUrl = obj.viewUrl; model.avatar = receiveInfo.sendUserAvatar; @@ -1900,8 +1888,6 @@ model.targetAvatar = receiveInfo.targetAvatar; model.targetNick = receiveInfo.targetNick; [self.svgaQueue addObject:model]; - - // [self.animationListA addObject:model]; } }]; } @@ -1926,11 +1912,11 @@ giftTotal = receiveInfo.giftNum * giftInfo.goldPrice; } - if ((giftInfo.otherViewType == GiftOtherViewTypeMp4 || giftInfo.otherViewType == GiftOtherViewTypePag) && giftInfo.viewUrl.length > 0 && roomInfor.hasAnimationEffect) { + if ((giftInfo.otherViewType == GiftOtherViewTypeMp4 || giftInfo.otherViewType == GiftOtherViewTypePag) && giftInfo.viewUrl.length > 0 && roomInfo.hasAnimationEffect) { receiveInfo.viewUrl = giftInfo.viewUrl; // [self.animationListA addObject:receiveInfo]; [self.svgaQueue addObject:receiveInfo]; - } else if (giftInfo.hasVggPic && giftInfo.vggUrl.length > 0 && roomInfor.hasAnimationEffect) {///SVGA动画 + } else if (giftInfo.hasVggPic && giftInfo.vggUrl.length > 0 && roomInfo.hasAnimationEffect) {///SVGA动画 receiveInfo.vggUrl = giftInfo.vggUrl; // [self.animationListA addObject:receiveInfo]; [self.svgaQueue addObject:receiveInfo]; @@ -2041,7 +2027,7 @@ if ([[NSFileManager defaultManager] fileExistsAtPath:fullPath]){ NSData *data = [NSData dataWithContentsOfFile:fullPath options:0 error:NULL]; @kWeakify(self); - [self.parser parseWithData:data cacheKey:nil completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) { + [self.parser parseWithData:data cacheKey:@"" completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) { @kStrongify(self); if (videoItem != nil) { self.giftEffectView.hidden = NO; diff --git a/YuMi/Modules/YMRoom/View/SendGiftView/Presenter/XPGiftStorage.m b/YuMi/Modules/YMRoom/View/SendGiftView/Presenter/XPGiftStorage.m index 48d4ca82..98f5f198 100644 --- a/YuMi/Modules/YMRoom/View/SendGiftView/Presenter/XPGiftStorage.m +++ b/YuMi/Modules/YMRoom/View/SendGiftView/Presenter/XPGiftStorage.m @@ -110,12 +110,7 @@ for (GiftInfoModel *giftInfoModel in array) { NSBlockOperation *operation = [NSBlockOperation blockOperationWithBlock:^{ NSString *giftPath = [giftDirPath stringByAppendingPathComponent:[NSString stringWithFormat:@"%ld", (long)giftInfoModel.giftId]]; - BOOL success = [NSKeyedArchiver archiveRootObject:giftInfoModel.model2dictionary toFile:giftPath]; - if (!success) { - NSLog(@" --- --- --- ---- ---- ----- ---- Failed to archive object for gift ID: %ld", (long)giftInfoModel.giftId); - } else { - NSLog(@" --- --- --- ---- ---- ----- ---- Operations completed."); - } + [NSKeyedArchiver archiveRootObject:giftInfoModel.model2dictionary toFile:giftPath]; }]; [operationQueue addOperation:operation]; } diff --git a/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftTwelveStarBroadcastView.m b/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftTwelveStarBroadcastView.m index 3e720071..deecfb52 100644 --- a/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftTwelveStarBroadcastView.m +++ b/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftTwelveStarBroadcastView.m @@ -57,7 +57,7 @@ } else { XPWeekStarRankUserModel *rankModel = [XPWeekStarRankUserModel new]; rankModel.type = 0; - rankModel.avatar = @"common_empty_avatar"; + rankModel.avatar = @"common_avatar"; rankModel.nick = YMLocalizedString(@"XPGiftWeekStarBroadcastView0"); [self.records addObject:rankModel]; } @@ -68,7 +68,7 @@ } else { XPWeekStarRankUserModel *rankModel = [XPWeekStarRankUserModel new]; rankModel.type = 1; - rankModel.avatar = @"common_empty_avatar"; + rankModel.avatar = @"common_avatar"; rankModel.nick = YMLocalizedString(@"XPGiftWeekStarBroadcastView0"); [self.records addObject:rankModel]; } @@ -217,7 +217,7 @@ - (NetImageView *)headView{ if(!_headView){ NetImageConfig *config = [[NetImageConfig alloc]init]; - config.placeHolder = kImage(@"common_empty_avatar"); + config.placeHolder = kImage(@"common_avatar"); _headView = [[NetImageView alloc]initWithConfig:config]; _headView.layer.cornerRadius = kGetScaleWidth(22)/2; _headView.layer.masksToBounds = YES; @@ -226,7 +226,6 @@ } - (UILabel *)nameView{ if(!_nameView){ - _nameView = [UILabel labelInitWithText:@"" font:kFontMedium(12) textColor:[UIColor whiteColor]]; } return _nameView; diff --git a/YuMi/Modules/YMRoom/View/Setting/View/Cell/MSRoomSetingBackdropCell.m b/YuMi/Modules/YMRoom/View/Setting/View/Cell/MSRoomSetingBackdropCell.m index 56ac7c1d..d091736c 100644 --- a/YuMi/Modules/YMRoom/View/Setting/View/Cell/MSRoomSetingBackdropCell.m +++ b/YuMi/Modules/YMRoom/View/Setting/View/Cell/MSRoomSetingBackdropCell.m @@ -58,6 +58,7 @@ NetImageConfig *config = [[NetImageConfig alloc]init]; config.placeHolder = [UIImageConstant defaultEmptyAvatarPlaceholder]; _backdropView = [[NetImageView alloc]initWithConfig:config]; + _backdropView.contentMode = UIViewContentModeScaleAspectFill; _backdropView.layer.cornerRadius = kGetScaleWidth(5); _backdropView.layer.masksToBounds = YES; } diff --git a/YuMi/Modules/YMRoom/View/StageView/MicroView/MicroView.m b/YuMi/Modules/YMRoom/View/StageView/MicroView/MicroView.m index 9ae2a871..0ab7f59f 100644 --- a/YuMi/Modules/YMRoom/View/StageView/MicroView/MicroView.m +++ b/YuMi/Modules/YMRoom/View/StageView/MicroView/MicroView.m @@ -139,7 +139,7 @@ [self.headWearSVGAImageView mas_makeConstraints:^(MASConstraintMaker *make) { make.center.mas_equalTo(self.avatarImageView); - make.width.mas_equalTo(self.avatarImageView.mas_width).multipliedBy(1.31); + make.width.mas_equalTo(self.avatarImageView.mas_width).multipliedBy(1.4); make.height.mas_equalTo(self.headWearImageView.mas_width); }]; @@ -365,7 +365,7 @@ /** 更新坑位等级头饰 */ -- (void)updatePositionisHighLevel:(BOOL)isHighLevel +- (void)updatePositionIsHighLevel:(BOOL)isHighLevel isShow:(BOOL)isShow { self.positionCharmImgView.hidden = !isShow; if (isHighLevel) { @@ -404,6 +404,7 @@ } else { image = [UIImage imageNamed:@"room_position_lock"]; } + [self.avatarImageView updateConfigPlaceHolder:image]; CGSize scaledToSize = CGSizeMake(self.frame.size.width, self.frame.size.width); if (scaledToSize.width > 0 && scaledToSize.height > 0 ) { UIGraphicsBeginImageContextWithOptions(scaledToSize, false, 0.0); @@ -434,13 +435,6 @@ self.forbidKickView.hidden = YES; if (userInfo) { self.avatarImageView.imageUrl = userInfo.avatar; - if (userInfo.gender == GenderType_Male) { - - - } else if(userInfo.gender == GenderType_Female){ - - - } NSString *nickStr = userInfo.nick; self.nickLabel.text = nickStr.length > 0 ? nickStr : @""; if (userInfo.micNickColor.length) { @@ -455,12 +449,6 @@ make.width.mas_lessThanOrEqualTo(kGetScaleWidth(150)); }]; self.sexImageView.hidden = YES; - - - [self.sexImageView setTitle:[NSString getAgeWithBirth:userInfo.birth] forState:UIControlStateNormal]; - self.sexImageView.backgroundColor = userInfo.gender == GenderType_Male ? UIColorFromRGB(0x6BB3FF) :UIColorFromRGB(0xFF80CC); - self.sexImageView.titleEdgeInsets = userInfo.gender != GenderType_Male ? UIEdgeInsetsMake(0, 2, 0, 0):UIEdgeInsetsMake(0, -1, 0, 0); - self.sexImageView.selected = userInfo.gender != GenderType_Male; } self.forbidKickView.hidden = !userInfo.preventKick; } else { @@ -472,8 +460,7 @@ } NSString * headWearUrl = userInfo.headwearEffect.length ? userInfo.headwearEffect : userInfo.headWearUrl.length ? userInfo.headWearUrl : userInfo.headwearPic; if (headWearUrl.length > 0 && !userInfo.vipMic) { -// if (userInfo.headwearType == 1) { - if ([headWearUrl.lowercaseString hasSuffix:@"svga"]) { + if ([userInfo isHeadWearSVGA]) { self.headWearSVGAImageView.hidden = NO; [self.headWearSVGAImageView setImageName:headWearUrl]; } else { @@ -535,8 +522,6 @@ - (void)resetGiftValue { self.giftValueView.giftValue = 0; - - } - (void)configRoomInfo:(RoomInfoModel *)roomInfo { diff --git a/YuMi/Modules/YMRoom/View/StageView/MicroView/MicroViewProtocol.h b/YuMi/Modules/YMRoom/View/StageView/MicroView/MicroViewProtocol.h index 37d6a8cc..a696e41b 100644 --- a/YuMi/Modules/YMRoom/View/StageView/MicroView/MicroViewProtocol.h +++ b/YuMi/Modules/YMRoom/View/StageView/MicroView/MicroViewProtocol.h @@ -82,7 +82,7 @@ NS_ASSUME_NONNULL_BEGIN /** 更新坑位等级头饰 */ -- (void)updatePositionisHighLevel:(BOOL)isHighLevel isShow:(BOOL)isShow; +- (void)updatePositionIsHighLevel:(BOOL)isHighLevel isShow:(BOOL)isShow; -(void)hiddenPositionisHighLevel; /** 重置头饰 diff --git a/YuMi/Modules/YMRoom/View/StageView/MicroView/SocialMicroView.m b/YuMi/Modules/YMRoom/View/StageView/MicroView/SocialMicroView.m index 2e0056cd..b9c9ab9b 100644 --- a/YuMi/Modules/YMRoom/View/StageView/MicroView/SocialMicroView.m +++ b/YuMi/Modules/YMRoom/View/StageView/MicroView/SocialMicroView.m @@ -36,6 +36,8 @@ UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); self.avatarImageView.backgroundColor = [UIColor colorWithPatternImage:newImage]; + + [self.avatarImageView updateConfigPlaceHolder:image]; } - (void)configUser:(UserInfoModel *)userInfo { diff --git a/YuMi/Modules/YMRoom/View/StageView/StageView.m b/YuMi/Modules/YMRoom/View/StageView/StageView.m index bae706f2..1a3f42e2 100644 --- a/YuMi/Modules/YMRoom/View/StageView/StageView.m +++ b/YuMi/Modules/YMRoom/View/StageView/StageView.m @@ -249,8 +249,10 @@ - (void)initGiftValue{ RoomInfoModel* roomInfo = self.hostDelegate.getRoomInfo; // 获取礼物值 + @kWeakify(self); [Api roomMicroGiftValue:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) { if (code == 200) { + @kStrongify(self); [self giftValueUpdate:data.data]; } } roomUid:[NSString stringWithFormat:@"%ld", roomInfo.uid] uid:[AccountInfoStorage instance].getUid]; @@ -287,11 +289,9 @@ model.userInfo.uid == self.hostDelegate.getUserInfo.uid) { selfNeedBroadcast = model.microState.micState == MicroMicStateType_Open; if (model.microState.micState == MicroMicStateType_Close) { - if (roomInfo.roomModeType != RoomModeType_Open_AcrossRoomPK_mode){ [RtcManager instance].localMuted = YES; } - } if (roomInfo.type == RoomType_Anchor && [[AccountInfoStorage instance].getUid isEqualToString:[NSString stringWithFormat:@"%ld", roomInfo.uid]]) { selfNeedBroadcast = YES;///个播房房主默认角色为主播 @@ -333,13 +333,13 @@ [view configGiftValue:giftValueModel.giftValue]; } - [self updatePostionItemWithRoomOnMicGiftValue:model]; + [self updatePositionItemWithRoomOnMicGiftValue:model]; } /** 更新坑位的等级头饰 */ -- (void)updatePostionItemWithRoomOnMicGiftValue:(GiftValueInfoModel *)roomOnMicGiftValue{ +- (void)updatePositionItemWithRoomOnMicGiftValue:(GiftValueInfoModel *)roomOnMicGiftValue{ if (self.hostDelegate.getRoomInfo.type == RoomType_Anchor || self.hostDelegate.getRoomInfo.roomModeType == RoomModeType_Open_Blind) return; // 过滤礼物值为0的 NSMutableArray *validGifts = [NSMutableArray array]; @@ -395,18 +395,16 @@ } } } - - + for (MicroQueueModel *item in self.micQueue.allValues) { - if (highest && item.userInfo.uid == highest.integerValue) { UIView * view = [self findMicroViewByUid:highest]; - [view updatePositionisHighLevel:YES isShow:YES]; + [view updatePositionIsHighLevel:YES isShow:YES]; continue; } if (lowest && item.userInfo.uid == lowest.integerValue) { UIView * view = [self findMicroViewByUid:lowest]; - [view updatePositionisHighLevel:NO isShow:YES]; + [view updatePositionIsHighLevel:NO isShow:YES]; } } } @@ -543,7 +541,6 @@ [[NIMSDK sharedSDK].chatManager sendMessage:message toSession:session completion:^(NSError * _Nullable error) { }]; - } } roomUid:roomUid micUid:uid position:position uid:uid]; } @@ -562,7 +559,6 @@ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ [RtcManager instance].isMiniEnterk = NO; }); -// } } if(userInfo.isNoProhibitMic == YES){ @@ -619,9 +615,7 @@ } if (microQueueChanged) { - - - [self updatePostionItemWithRoomOnMicGiftValue:nil]; + [self updatePositionItemWithRoomOnMicGiftValue:nil]; self.isMiniEnter = NO; [self microQueueUpdated:ownerRTCChanged]; [self.hostDelegate onMicroQueueUpdate:self.micQueue]; @@ -1039,7 +1033,7 @@ extModel.uid = userInfo.uid; extModel.nick = userInfo.nick; extModel.headWearUrl = userInfo.headwearEffect.length > 0 ? userInfo.headwearEffect : userInfo.headwearPic; - extModel.headWearType = userInfo.headwearType; + extModel.headWearType = [userInfo isHeadWearSVGA] ? 1 : 0;; extModel.micCircle = userInfo.micCircle; extModel.micNickColor = userInfo.micNickColor; extModel.preventKick = userInfo.userVipInfoVO.preventKick; diff --git a/YuMi/Modules/YMRoom/View/UserCard/View/XPUserCardViewController.m b/YuMi/Modules/YMRoom/View/UserCard/View/XPUserCardViewController.m index 3de240f3..54d2fb99 100644 --- a/YuMi/Modules/YMRoom/View/UserCard/View/XPUserCardViewController.m +++ b/YuMi/Modules/YMRoom/View/UserCard/View/XPUserCardViewController.m @@ -577,7 +577,7 @@ self.headWearImageView.hidden = headwearUrl.length <= 0; self.headWearSVGAImageView.hidden = headwearUrl.length <= 0; if (headwearUrl.length > 0) { - if (userInfo.headwearType == 1) { + if ([userInfo isHeadWearSVGA]) { [self.headWearSVGAImageView setImageName:headwearUrl]; } else { NSURL *url = [NSURL URLWithString:headwearUrl]; diff --git a/YuMi/Modules/YMTabbar/View/PIFullScreenBannerAnimation.m b/YuMi/Modules/YMTabbar/View/PIFullScreenBannerAnimation.m index 45c67d24..d5fe4254 100644 --- a/YuMi/Modules/YMTabbar/View/PIFullScreenBannerAnimation.m +++ b/YuMi/Modules/YMTabbar/View/PIFullScreenBannerAnimation.m @@ -538,7 +538,7 @@ if ( attachment.second == Custom_Message_Sub_Room_Gift_LuckBag_FullScree) { PIBaseAnimationViewModel * prizeModel = [PIBaseAnimationViewModel modelWithDictionary:attachment.data]; prizeModel.type = GiftBannerType_Lucky; - prizeModel.isInRoomVisiable = attachment.second == Custom_Message_Sub_Room_Gift_LuckBag; + prizeModel.isInRoomVisable = attachment.second == Custom_Message_Sub_Room_Gift_LuckBag; if(self.animationListB.count == 0 && self.isPlayOfB == NO){ [self createBigPrizeAnimation:prizeModel]; @@ -607,7 +607,7 @@ [kWindow addSubview:broadcastView]; return; } - if (!giftInfo.isInRoomVisiable && giftInfo.roomUid.length > 0 ) { + if (!giftInfo.isInRoomVisable && giftInfo.roomUid.length > 0 ) { [XPRoomViewController openRoom:giftInfo.roomUid viewController:[XCCurrentVCStackManager shareManager].getCurrentVC]; } } diff --git a/YuMi/Structure/MVP/Model/UserInfoModel.h b/YuMi/Structure/MVP/Model/UserInfoModel.h index 64b2c51a..594bee02 100644 --- a/YuMi/Structure/MVP/Model/UserInfoModel.h +++ b/YuMi/Structure/MVP/Model/UserInfoModel.h @@ -90,6 +90,7 @@ NS_ASSUME_NONNULL_BEGIN ///用户信息中的 头饰的动画 如果没有的话 就用这个 从 HeadwearModel 映射而来 @property (nonatomic,copy) NSString *headwearPic; @property (nonatomic,assign) NSInteger headwearType; // 1 = svga, 表示 headwearEffect 是 svga 的链接 +@property (nonatomic,assign) NSInteger headWearType; // 1 = svga, 表示 headwearEffect 是 svga 的链接, W 大小写不一致是后端的原因,这里做个兼容 ///头饰(新字段) 上麦的时候 在扩展字段中的 只用在坑位上 从 HeadwearModel 映射而来 @property (nonatomic,copy) NSString *headWearUrl; #pragma mark - 相亲房的字段 @@ -158,6 +159,8 @@ NS_ASSUME_NONNULL_BEGIN - (BOOL)isUserValid; - (NSString *)userIDString; +- (BOOL)isHeadWearSVGA; + @end NS_ASSUME_NONNULL_END diff --git a/YuMi/Structure/MVP/Model/UserInfoModel.m b/YuMi/Structure/MVP/Model/UserInfoModel.m index 45629b01..9d5c2daf 100644 --- a/YuMi/Structure/MVP/Model/UserInfoModel.m +++ b/YuMi/Structure/MVP/Model/UserInfoModel.m @@ -58,4 +58,8 @@ return self.nick.hash ^ self.uid; } +- (BOOL)isHeadWearSVGA { + return self.headwearType == 1 || self.headWearType == 1; +} + @end diff --git a/YuMi/zh-Hans.lproj/Localizable.strings b/YuMi/zh-Hans.lproj/Localizable.strings index f7d83463..af403460 100644 --- a/YuMi/zh-Hans.lproj/Localizable.strings +++ b/YuMi/zh-Hans.lproj/Localizable.strings @@ -404,7 +404,7 @@ "XPMineDataGiftTableViewCell0" = "普通礼物"; "XPMineDataGiftTableViewCell1" = "幸运礼物"; -"XPMineDataGiftTableViewCell2" = "勋章"; +"XPMineDataGiftTableViewCell2" = "勛章"; "XPMineUserInfoEmptyCollectionViewCell0" = "还未收到过礼物"; diff --git a/YuMi/zh-Hant.lproj/Localizable.strings b/YuMi/zh-Hant.lproj/Localizable.strings index 1ac802f9..361395f1 100644 --- a/YuMi/zh-Hant.lproj/Localizable.strings +++ b/YuMi/zh-Hant.lproj/Localizable.strings @@ -405,7 +405,7 @@ "XPMineDataGiftTableViewCell0" = "普通禮物"; "XPMineDataGiftTableViewCell1" = "幸運禮物"; -"XPMineDataGiftTableViewCell2" = "勋章"; +"XPMineDataGiftTableViewCell2" = "勛章"; "XPMineUserInfoEmptyCollectionViewCell0" = "還未收到過禮物";