fix: 修正验收问题

This commit is contained in:
edwinQQQ
2025-01-07 20:07:54 +08:00
parent 893c1ab647
commit d9e8d6639b
51 changed files with 760 additions and 412 deletions

View File

@@ -143,7 +143,18 @@ exitCurrentRoom:(void(^)(void))exit {
} else {
self.ballImageView.hidden = NO;
}
[self.coinsLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
if (self.bigBallImageView.hidden == NO) {
make.centerX.mas_equalTo(self.bigBallImageView);
make.width.mas_lessThanOrEqualTo(self.bigBallImageView).multipliedBy(0.8);
} else {
make.centerX.mas_equalTo(self.ballImageView);
make.width.mas_lessThanOrEqualTo(self.ballImageView).multipliedBy(0.8);
}
make.top.mas_equalTo(self).offset(kGetScaleWidth(18));
make.height.mas_equalTo(kGetScaleWidth(28));
}];
}
- (instancetype)initWithFrame:(CGRect)frame {
@@ -241,7 +252,7 @@ exitCurrentRoom:(void(^)(void))exit {
make.centerX.mas_equalTo(self.ballImageView);
make.top.mas_equalTo(self).offset(kGetScaleWidth(18));
make.height.mas_equalTo(kGetScaleWidth(28));
make.width.mas_lessThanOrEqualTo(self.bigBallImageView).multipliedBy(0.8);
make.width.mas_lessThanOrEqualTo(self.ballImageView).multipliedBy(0.8);
}];
UILabel *titleLabel_4 = [UILabel labelInitWithText:YMLocalizedString(@"Combo_5") font:kFontSemibold(14) textColor:[UIColor whiteColor]];

View File

@@ -386,6 +386,11 @@
- (void)handleNIMNotificationMessage:(NIMMessage *)message {
NIMNotificationObject *notiMsg = (NIMNotificationObject *)message.messageObject;
NIMChatroomNotificationContent *content = (NIMChatroomNotificationContent *)notiMsg.content;
if (![notiMsg.content isKindOfClass:[NIMChatroomNotificationContent class]]) {
return;
}
switch (content.eventType) {
case NIMChatroomEventTypeInfoUpdated: //
{

View File

@@ -1012,6 +1012,9 @@ NSString * const kRoomShowTopicKey = @"kRoomShowTopicKey";
- (void)handleNIMNotificationMessage:(NIMMessage *)message {
self.isMiniEnter = NO;
NIMNotificationObject *notiMsg = (NIMNotificationObject *)message.messageObject;
if (![notiMsg.content isKindOfClass:[NIMChatroomNotificationContent class]]) {
return;
}
NIMChatroomNotificationContent *content = (NIMChatroomNotificationContent *)notiMsg.content;
RoomInfoModel *roomInfo = self.hostDelegate.getRoomInfo;
if (content.eventType == NIMChatroomEventTypeEnter) {

View File

@@ -264,6 +264,11 @@
}
if (message.messageType == NIMMessageTypeNotification) {
NIMNotificationObject *notiMsg = (NIMNotificationObject *)message.messageObject;
if (![notiMsg.content isKindOfClass:[NIMChatroomNotificationContent class]]) {
return;
}
NIMChatroomNotificationContent *content = (NIMChatroomNotificationContent *)notiMsg.content;
switch (content.eventType) {
case NIMChatroomEventTypeEnter:

View File

@@ -20,10 +20,14 @@
@property(nonatomic, strong) SVGAImageView *svgaImageView;
@property(nonatomic, strong) SVGAParser *parser;
@property(nonatomic, strong) UILabel *nameLabel;
@property(nonatomic, assign) BOOL isForRoomType;
+ (void)registerTo:(UICollectionView *)collectionView;
+ (RoomModeCollectionCell *)cellFro:(UICollectionView *)collectionView indexPath:(NSIndexPath *)indexPath displayName:(BOOL)displayName;
// cell id
+ (void)registerTo:(UICollectionView *)collectionView forIndex:(NSInteger)index;
+ (RoomModeCollectionCell *)cellFroIndex:(UICollectionView *)collectionView indexPath:(NSIndexPath *)indexPath displayName:(BOOL)displayName;
@end
@implementation RoomModeCollectionCell
@@ -32,14 +36,24 @@
[collectionView registerClass:[self class] forCellWithReuseIdentifier:@"RoomModeCollectionCell"];
}
+ (void)registerTo:(UICollectionView *)collectionView forIndex:(NSInteger)index {
[collectionView registerClass:[self class] forCellWithReuseIdentifier:[NSString stringWithFormat:@"RoomModeCollectionCell_%@", @(index)]];
}
+ (RoomModeCollectionCell *)cellFro:(UICollectionView *)collectionView indexPath:(NSIndexPath *)indexPath displayName:(BOOL)displayName {
RoomModeCollectionCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"RoomModeCollectionCell" forIndexPath:indexPath];
cell.nameLabel.hidden = !displayName;
return cell;
}
- (void)dealloc
{
+ (RoomModeCollectionCell *)cellFroIndex:(UICollectionView *)collectionView indexPath:(NSIndexPath *)indexPath displayName:(BOOL)displayName {
RoomModeCollectionCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:[NSString stringWithFormat:@"RoomModeCollectionCell_%@", @(indexPath.row)]
forIndexPath:indexPath];
cell.nameLabel.hidden = !displayName;
return cell;
}
- (void)dealloc {
if (_svgaImageView) {
[self.svgaImageView stopAnimation];
}
@@ -49,6 +63,14 @@
[super layoutSubviews];
}
- (void)prepareForReuse {
[super prepareForReuse];
self.imageView.image = nil;
if (_svgaImageView) {
[self.svgaImageView stopAnimation];
}
}
- (void)setMicInfoModel:(RoomMicInfoModel *)micInfoModel {
_micInfoModel = micInfoModel;
@@ -56,11 +78,7 @@
if (micInfoModel.dressType == MicResourceType_Skin) {
self.imageView.image = kImage(@"room_mode_default_skin");
}else {
self.imageView.backgroundColor = [UIColor colorWithWhite:1 alpha:0.5];
[self.imageView setCornerRadius:kGetScaleWidth(27)
corners:kCALayerMaxXMaxYCorner | kCALayerMaxXMinYCorner | kCALayerMinXMaxYCorner | kCALayerMinXMinYCorner
borderWidth:1
borderColor:[UIColor whiteColor]];
self.imageView.image = kImage(@"room_mic_normal");
}
} else {
if (micInfoModel.dressType == MicResourceType_Skin) {
@@ -71,6 +89,15 @@
}
}
- (void)setIsForRoomType:(BOOL)isForRoomType {
_isForRoomType = isForRoomType;
if (isForRoomType) {
[self.imageView mas_updateConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(self.statusView.mas_height).multipliedBy(0.8);
}];
}
}
- (void)playSVGA:(NSString *)path{
if (!_svgaImageView) {
[self.contentView addSubview:self.svgaImageView];
@@ -90,13 +117,7 @@
} failureBlock:^(NSError * _Nullable error) { }];
}
- (void)prepareForReuse {
[super prepareForReuse];
}
- (instancetype)initWithFrame:(CGRect)frame
{
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self.contentView addSubview:self.statusView];
@@ -140,7 +161,7 @@
- (UILabel *)nameLabel {
if (!_nameLabel) {
_nameLabel = [UILabel labelInitWithText:@"?" font:kFontRegular(18) textColor:[UIColor whiteColor]];
_nameLabel = [UILabel labelInitWithText:@"?" font:kFontRegular(13) textColor:[UIColor whiteColor]];
_nameLabel.textAlignment = NSTextAlignmentCenter;
}
return _nameLabel;
@@ -230,7 +251,7 @@
self.nextLevelLabel.text = [NSString stringWithFormat:@"%@%@", YMLocalizedString(@"1.0.33_text_9"), @(LevelInfo.nextLevel)];
self.currentLevelLabel.text = [NSString stringWithFormat:@"%@%@", YMLocalizedString(@"1.0.33_text_9"), @(LevelInfo.currentLevel)];
self.expToNextLabel.text = [NSString stringWithFormat:@"%@%@", YMLocalizedString(@"1.0.33_text_8"), @(LevelInfo.nextLevelExp - LevelInfo.roomVal)];
self.adminLabel.text = [NSString stringWithFormat:@"%@%@/%@", YMLocalizedString(@"1.0.33_text_7"), @(LevelInfo.currentManagerNum), @(LevelInfo.managerLimitNum)];
self.adminLabel.text = [NSString stringWithFormat:YMLocalizedString(@"1.0.33_text_7"), @(LevelInfo.currentManagerNum), @(LevelInfo.managerLimitNum)];
}
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
@@ -281,14 +302,14 @@
[self.currentLevelLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(self.avatarImage);
make.top.mas_equalTo(self.avatarImage.mas_bottom).offset(12);
make.size.mas_equalTo(CGSizeMake(40, 17));
make.height.mas_equalTo(18);
}];
[self.contentView addSubview:self.nextLevelLabel];
[self.nextLevelLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.trailing.mas_equalTo(self.backgroundImageView).offset(-16);
make.top.mas_equalTo(self.avatarImage.mas_bottom).offset(12);
make.size.mas_equalTo(CGSizeMake(40, 17));
make.height.mas_equalTo(18);
}];
[self.contentView addSubview:self.expProgressView];
@@ -404,7 +425,7 @@
+ (CGFloat)cellHeight:(NSInteger)cellCount {
NSInteger line = cellCount/3 + cellCount%3;
return MAX(0, line) * (87 + 4 + 18) + MAX(0, line-1) * 10;
return MAX(0, line) * (90 + 4 + 18) + MAX(0, line-1) * 10;
}
+ (void)registerTo:(UITableView *)tableView {
@@ -469,6 +490,7 @@
- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
RoomModeCollectionCell *cell = [RoomModeCollectionCell cellFro:collectionView indexPath:indexPath displayName:YES];
cell.isForRoomType = YES;
NSDictionary *dic = [self.dataSource xpSafeObjectAtIndex:indexPath.row];
if (dic) {
cell.selected = [[dic objectForKey:@"isUses"] boolValue];
@@ -671,6 +693,7 @@
+ (void)registerTo:(UITableView *)tableView {
[tableView registerClass:[self class] forCellReuseIdentifier:@"RoomModeMicEffectCard"];
}
+ (RoomModeMicEffectCard *)cellFro:(UITableView *)tableView
indexPath:(NSIndexPath *)indexPath
effects:(NSArray <RoomMicInfoModel *> *)effects
@@ -867,7 +890,7 @@
- (void)didTapHelp {
XPWebViewController *vc = [[XPWebViewController alloc] initWithRoomUID:@(self.roomInfo.uid).stringValue];
vc.url = @"https://jandan.net/pic";
vc.url = URLWithType(KRoomLevelRule);
[self.navigationController pushViewController:vc animated:YES];
}
@@ -934,7 +957,7 @@
case 1:
case 2:
case 3:
return 66;
return 46;
break;
default:
@@ -976,27 +999,6 @@
return headerView;
}
//- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
// switch (section) {
// case 0:
// return @"";
// break;
// case 1:
// return YMLocalizedString(@"1.0.33_text_2");
// break;
// case 2:
// return YMLocalizedString(@"1.0.33_text_3");
// break;
// case 3:
// return YMLocalizedString(@"1.0.33_text_4");
// break;
//
// default:
// return @"";
// break;
// }
//}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
switch (section) {
case 0:

View File

@@ -147,7 +147,13 @@
}
if (message.messageType == NIMMessageTypeNotification) {
NIMNotificationObject *notiMsg = (NIMNotificationObject *)message.messageObject;
if (![notiMsg.content isKindOfClass:[NIMChatroomNotificationContent class]]) {
return;
}
NIMChatroomNotificationContent *content = (NIMChatroomNotificationContent *)notiMsg.content;
switch (content.eventType) {
case NIMChatroomEventTypeEnter:
case NIMChatroomEventTypeExit:

View File

@@ -180,9 +180,6 @@
item.title = YMLocalizedString(@"XPUserCardPresenter0");
} else {
switch (roomInfo.type) {
// case RoomType_Game:
// item.title = YMLocalizedString(@"XPUserCardPresenter1");
// break;
case RoomType_Anchor:
item.title = YMLocalizedString(@"XPMoreMenuPresenter12");
break;
@@ -206,7 +203,6 @@
item.title = [NSString stringWithFormat:YMLocalizedString(@"XPUserCardPresenter4"), i+1];
}
}
// targetMember.type != NIMChatroomMemberTypeCreator
MicroQueueModel * micModel = [micQueue objectForKey:[NSString stringWithFormat:@"%d", i - 1]];
if ((micModel && micModel.userInfo && micModel.userInfo.uid > 0) || (micModel.microState.position == -1 && roomInfo.type == RoomType_Game)) {
item.isEnable = NO;

View File

@@ -232,6 +232,13 @@
@implementation UserRoomMicPositionView
- (void)dealloc
{
if (self.handleDismiss) {
self.handleDismiss();
}
}
- (instancetype)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
self.backgroundColor = [UIColor blackColor];
@@ -1217,7 +1224,15 @@
}
break;
case UserCardItemType_Manager: {
[TTPopup popupView:[self managerLimitToast] style:TTPopupStyleAlert];
return;
if (item.isSelect) {
if ([self isSuperUser]) {
[self.presenter superAdminHandleUser:self.cardInfo.uid opt:@"1" roomUid:roomUid isSet:!item.isSelect];
} else {
[self.presenter makeUserManager:self.cardInfo.uid roomId:roomId enable:!item.isSelect];
}
} else {
@kWeakify(self);
[self.presenter checkManagerLimit:roomUid success:^{
@kStrongify(self);
@@ -1226,13 +1241,11 @@
} else {
[self.presenter makeUserManager:self.cardInfo.uid roomId:roomId enable:!item.isSelect];
}
} failure:^(NSError * _Nonnull error) {}];
} else {
if ([self isSuperUser]) {
[self.presenter superAdminHandleUser:self.cardInfo.uid opt:@"1" roomUid:roomUid isSet:!item.isSelect];
} else {
[self.presenter makeUserManager:self.cardInfo.uid roomId:roomId enable:!item.isSelect];
}
} failure:^(NSError * _Nonnull error) {
if (error.code == 20505) {
[TTPopup popupView:[self managerLimitToast] style:TTPopupStyleAlert];
}
}];
}
}
break;
@@ -1248,6 +1261,53 @@
}
}
- (UIView *)managerLimitToast {
UIView *view = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth-80, kGetScaleWidth(290))];
[view setBackgroundColor:[UIColor whiteColor]];
[view setCornerRadius:16];
UILabel *tipTitleLabel = [UILabel labelInitWithText:YMLocalizedString(@"UserDetail_CP_Toast_0") font:kFontMedium(15) textColor:UIColorFromRGB(0x313131)];
tipTitleLabel.textAlignment = NSTextAlignmentCenter;
UILabel *tipContentLabel = [UILabel labelInitWithText:YMLocalizedString(@"1.0.33_text_19") font:kFontMedium(15) textColor:UIColorFromRGB(0x313131)];
tipContentLabel.numberOfLines = 0;
UIImageView *ruleImageView = [[UIImageView alloc] initWithImage:kImage(@"room_manager_limit")];
UIButton *confirmButton = [UIButton buttonWithType:UIButtonTypeCustom];
[confirmButton setCornerRadius:18];
[confirmButton addGradientBackgroundWithColors:@[
UIColorFromRGB(0xE29030), UIColorFromRGB(0xFCC074)
] startPoint:CGPointMake(0, 0.5) endPoint:CGPointMake(1, 0.5) cornerRadius:18];
[view addSubview:tipTitleLabel];
[view addSubview:tipContentLabel];
[view addSubview:ruleImageView];
[view addSubview:confirmButton];
[tipTitleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.top.trailing.mas_equalTo(view).inset(14);
make.height.mas_equalTo(22);
}];
[tipContentLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(tipTitleLabel.mas_bottom).offset(12);
make.leading.trailing.mas_equalTo(view).inset(23);
}];
[ruleImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.mas_equalTo(tipContentLabel);
make.top.mas_equalTo(tipContentLabel.mas_bottom).offset(12);
make.height.mas_equalTo(kGetScaleWidth(238));
}];
[confirmButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(view).offset(-14);
make.leading.trailing.mas_equalTo(tipContentLabel);
make.height.mas_equalTo(36);
}];
return view;
}
- (void)handleUpDown:(XPUserCardItemModel *)item {
// VIP T
if (self.userInfoModel.userVipInfoVO.preventKick &&
@@ -1416,15 +1476,14 @@
}
- (void)handleInviteMicro:(XPUserCardItemModel *)item {
self.upMicFlag = NO;
if ([AccountInfoStorage instance].getUid.integerValue == self.userInfoModel.uid) {
NSString * roomId = [NSString stringWithFormat:@"%ld", self.cardInfo.roomInfo.roomId];
[self.presenter upMicro:roomId position:item.position userInfo:self.userInfoModel];
} else {
if (self.cardInfo.roomInfo.leaveMode &&
item.isEnable == NO
// [item.position isEqualToString:@"-1"]
) {
item.isEnable == NO) {
return;
}
@@ -1435,7 +1494,8 @@
success:^{
@kStrongify(self);
[self buildUpMicMessage:item];
} failure:^(NSError * _Nonnull error) { }];
} failure:^(NSError * _Nonnull error) {
}];
} else {
[self buildUpMicMessage:item];
}
@@ -1462,7 +1522,6 @@
[self dismissViewControllerAnimated:YES completion:^{
[[NSNotificationCenter defaultCenter] postNotificationName:@"PopAfterUserCardAction" object:nil];
}];
}
- (void)handleAtUser:(XPUserCardItemModel *)item {

View File

@@ -435,6 +435,9 @@ UIKIT_EXTERN NSString *kRoomKickoutTime;
if (message.messageType == NIMMessageTypeNotification) {
NIMNotificationObject *notiMsg = (NIMNotificationObject *)message.messageObject;
if (![notiMsg.content isKindOfClass:[NIMChatroomNotificationContent class]]) {
return;
}
NIMChatroomNotificationContent *content = (NIMChatroomNotificationContent *)notiMsg.content;
[self handleNIMNotificationMessage:content];
[self handleNIMNotificationSaveMessage:message];

View File

@@ -1855,11 +1855,21 @@ XPCandyTreeInsufficientBalanceViewDelegate>
continue;
}
NSLog(@" --- Message Raw Attach Content: %@, %ld", message.rawAttachContent, (long)message.messageType);
NSLog(@" --- Message Raw Attach Content: %@, %@, %ld", @(message.senderClientType), message.rawAttachContent, (long)message.messageType);
if (message.messageType == NIMMessageTypeNotification) {
NIMNotificationObject *notiMsg = (NIMNotificationObject *)message.messageObject;
NIMChatroomNotificationContent *content = (NIMChatroomNotificationContent *)notiMsg.content;
NSLog(@" --- Message Content class: %@", [notiMsg.content class]);
if ([notiMsg.content isKindOfClass:[NIMUnsupportedNotificationContent class]]) {
NSLog(@"Fuck %@", message);
}
if (![notiMsg.content isKindOfClass:[NIMChatroomNotificationContent class]]) {
return;
}
NSInteger onLineNumber = self.roomInfo.onlineNum;
switch (content.eventType) {
case NIMChatroomEventTypeInfoUpdated: //