From f8f6f04b0de38f314ad2c87a858ac0d5e6382e4a Mon Sep 17 00:00:00 2001 From: liyuhua <15626451870@163.com> Date: Wed, 18 Oct 2023 17:16:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=88=BF=E9=97=B4=E7=9B=B8?= =?UTF-8?q?=E5=86=8Cbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Model/XPMessageInfoModel.h | 6 ++++-- .../Tool/XPRoomMessageParser.m | 16 ++++++++++++++-- .../View/PIRoomMessagePhotoAlbumCell.m | 13 +++++-------- .../View/Cell/PIRoomPhotoAlbumItemCell.h | 2 ++ .../View/Cell/PIRoomPhotoAlbumItemCell.m | 2 +- .../RoomPhotoAlbum/View/PIRoomPhotoAlbumItemVC.m | 4 +++- 6 files changed, 29 insertions(+), 14 deletions(-) diff --git a/YuMi/Modules/YMRoom/View/MessageContainerView/Model/XPMessageInfoModel.h b/YuMi/Modules/YMRoom/View/MessageContainerView/Model/XPMessageInfoModel.h index e9c85566..6e0c6995 100644 --- a/YuMi/Modules/YMRoom/View/MessageContainerView/Model/XPMessageInfoModel.h +++ b/YuMi/Modules/YMRoom/View/MessageContainerView/Model/XPMessageInfoModel.h @@ -6,12 +6,14 @@ // #import -#import "XPMessageRemoteExtModel.h" +#import "PIRoomPhotoAlbumItemModel.h" NS_ASSUME_NONNULL_BEGIN @interface XPMessageInfoModel : NSObject +@property(nonatomic,strong) PIRoomPhotoAlbumItemModel *albumModel; +@property(nonatomic,strong) NSString *charmUrl; +@property(nonatomic,strong) NSString *experUrl; @property(nonatomic,assign) int first; -@property(nonatomic,copy) NSDictionary * data; @property(nonatomic,copy) NSString *nameText; ///显示文本 @property (nonatomic,strong) NSAttributedString *content; diff --git a/YuMi/Modules/YMRoom/View/MessageContainerView/Tool/XPRoomMessageParser.m b/YuMi/Modules/YMRoom/View/MessageContainerView/Tool/XPRoomMessageParser.m index 161d04e1..ac8484f2 100644 --- a/YuMi/Modules/YMRoom/View/MessageContainerView/Tool/XPRoomMessageParser.m +++ b/YuMi/Modules/YMRoom/View/MessageContainerView/Tool/XPRoomMessageParser.m @@ -145,14 +145,26 @@ }else if (first == CustomMessageType_Treasure_Fairy) { return [self createTreasureFairyAttribute:attachment messageInfo:messageInfo]; }else if (first == CustomMessageType_Room_Album) { + NSDictionary *userInfo = attachment.data[@"user"]; + NSDictionary *userLevel = attachment.data[@"userLevel"]; + if(userLevel != nil){ + NSString *charmUrl = userLevel[@"charmUrl"]; + NSString *experUrl = userLevel[@"experUrl"]; + messageInfo.charmUrl = charmUrl; + messageInfo.experUrl = experUrl; + } + PIRoomPhotoAlbumItemModel *albumModel = [PIRoomPhotoAlbumItemModel modelWithDictionary:attachment.data[@"roomPhoto"]]; NSString * uid = [AccountInfoStorage instance].getUid; - NSString * nick = [NSString stringWithFormat:@"%@:", ((NIMMessageChatroomExtension *)message.messageExt).roomNickname]; + NSString * nick = @""; + if(userInfo != nil){ + nick = [NSString stringWithFormat:@"%@:", userInfo[@"nick"]]; + } if ([message.from isEqualToString:uid]) { nick = YMLocalizedString(@"XPRoomMessageParser0"); } messageInfo.first = CustomMessageType_Room_Album; messageInfo.nameText = nick; - messageInfo.data = attachment.data; + messageInfo.albumModel = albumModel; return messageInfo; } return nil; diff --git a/YuMi/Modules/YMRoom/View/MessageContainerView/View/PIRoomMessagePhotoAlbumCell.m b/YuMi/Modules/YMRoom/View/MessageContainerView/View/PIRoomMessagePhotoAlbumCell.m index b23bcd13..26c6f021 100644 --- a/YuMi/Modules/YMRoom/View/MessageContainerView/View/PIRoomMessagePhotoAlbumCell.m +++ b/YuMi/Modules/YMRoom/View/MessageContainerView/View/PIRoomMessagePhotoAlbumCell.m @@ -173,19 +173,16 @@ - (void)setMessageInfo:(XPMessageInfoModel *)messageInfo { _messageInfo = messageInfo; if (_messageInfo) { - PIRoomPhotoAlbumItemModel *albumModel = [PIRoomPhotoAlbumItemModel modelWithDictionary:messageInfo.data[@"roomPhoto"]]; + PIRoomPhotoAlbumItemModel *albumModel = _messageInfo.albumModel; if([[XPSkillCardPlayerManager shareInstance].photoIdList containsObject:albumModel.ID] && ![albumModel.uid isEqualToString:[AccountInfoStorage instance].getUid] && albumModel.type.intValue == 2) { albumModel.status = 1; }else{ albumModel.status = 0; } - NSDictionary *userLevel = messageInfo.data[@"userLevel"]; - if(userLevel != nil){ - NSString *charmUrl = userLevel[@"charmUrl"]; - NSString *experUrl = userLevel[@"experUrl"]; - self.charmView.imageUrl = charmUrl; - self.wealthView.imageUrl = experUrl; - } + + self.charmView.imageUrl = _messageInfo.charmUrl; + self.wealthView.imageUrl = _messageInfo.experUrl; + self.albumModel = albumModel; self.unlockPhotoView.albumModel = albumModel; self.nameView.text = _messageInfo.nameText; diff --git a/YuMi/Modules/YMRoom/View/RoomPhotoAlbum/View/Cell/PIRoomPhotoAlbumItemCell.h b/YuMi/Modules/YMRoom/View/RoomPhotoAlbum/View/Cell/PIRoomPhotoAlbumItemCell.h index 8df9e190..fce71392 100644 --- a/YuMi/Modules/YMRoom/View/RoomPhotoAlbum/View/Cell/PIRoomPhotoAlbumItemCell.h +++ b/YuMi/Modules/YMRoom/View/RoomPhotoAlbum/View/Cell/PIRoomPhotoAlbumItemCell.h @@ -7,6 +7,7 @@ #import #import "PIRoomPhotoAlbumItemModel.h" +#import "PIRoomPhotoAlbumItemVC.h" @class PIRoomPhotoAlbumItemCell; @protocol PIRoomPhotoAlbumItemCellDelegate @@ -20,6 +21,7 @@ NS_ASSUME_NONNULL_BEGIN @interface PIRoomPhotoAlbumItemCell : UICollectionViewCell @property(nonatomic,weak) iddelegate; @property(nonatomic,strong) PIRoomPhotoAlbumItemModel *albumModel; +@property(nonatomic,assign) PIRoomPhotoAlbumItemVCType roomType; @end NS_ASSUME_NONNULL_END diff --git a/YuMi/Modules/YMRoom/View/RoomPhotoAlbum/View/Cell/PIRoomPhotoAlbumItemCell.m b/YuMi/Modules/YMRoom/View/RoomPhotoAlbum/View/Cell/PIRoomPhotoAlbumItemCell.m index 6636766f..a008bbc8 100644 --- a/YuMi/Modules/YMRoom/View/RoomPhotoAlbum/View/Cell/PIRoomPhotoAlbumItemCell.m +++ b/YuMi/Modules/YMRoom/View/RoomPhotoAlbum/View/Cell/PIRoomPhotoAlbumItemCell.m @@ -79,7 +79,7 @@ _albumModel = albumModel; @kWeakify(self); self.coverView.hidden = _albumModel.type.intValue == 1; - self.operateBtn.hidden = ![_albumModel.uid isEqualToString:[AccountInfoStorage instance].getUid]; + self.operateBtn.hidden = !([_albumModel.uid isEqualToString:[AccountInfoStorage instance].getUid] && self.roomType == Photo_Album_Type_Mine); if(_albumModel.type.intValue == 2){ _pi_priceView.text = _albumModel.totalGoldPrice; _lockView.hidden = _albumModel.status == 1; diff --git a/YuMi/Modules/YMRoom/View/RoomPhotoAlbum/View/PIRoomPhotoAlbumItemVC.m b/YuMi/Modules/YMRoom/View/RoomPhotoAlbum/View/PIRoomPhotoAlbumItemVC.m index 4bdcea32..31a98084 100644 --- a/YuMi/Modules/YMRoom/View/RoomPhotoAlbum/View/PIRoomPhotoAlbumItemVC.m +++ b/YuMi/Modules/YMRoom/View/RoomPhotoAlbum/View/PIRoomPhotoAlbumItemVC.m @@ -183,13 +183,15 @@ return cell; } PIRoomPhotoAlbumItemCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([PIRoomPhotoAlbumItemCell class]) forIndexPath:indexPath]; + cell.roomType = self.type; cell.albumModel = [self.photoList safeObjectAtIndex1:indexPath.row]; cell.delegate = self; return cell; } - (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{ + if(self.type == Photo_Album_Type_Mine)return; PIRoomPhotoAlbumItemModel *albumModel = [self.photoList safeObjectAtIndex1:indexPath.row]; - if(albumModel.type.intValue != 1)return; + if(albumModel.type.intValue == 2 && albumModel.status == 0)return; PIRoomPhotoAlbumItemCell *cell = (PIRoomPhotoAlbumItemCell *)[self.collectionView cellForItemAtIndexPath:indexPath]; self.lookUpModel = albumModel; SDPhotoBrowser *browser = [[SDPhotoBrowser alloc]init];