From 75bdf84320700e066deb042dea77f82a5793f65a Mon Sep 17 00:00:00 2001 From: eggmanQQQ <3671373519@qq.com> Date: Tue, 6 Aug 2024 15:07:21 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=AD=A3=E6=88=BF=E9=97=B4?= =?UTF-8?q?=E7=9B=B8=E5=86=8C=E4=B8=8A=E4=BC=A0=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- YuMi.xcodeproj/project.pbxproj | 4 +- .../Presenter/PIRoomPhotoAlbumItemPresenter.m | 24 +++--- .../View/PIRoomPhotoAlbumItemVC.m | 77 ++++++++++++------- .../RoomPhotoAlbum/View/PIRoomPhotoAlbumVC.m | 1 - 4 files changed, 66 insertions(+), 40 deletions(-) diff --git a/YuMi.xcodeproj/project.pbxproj b/YuMi.xcodeproj/project.pbxproj index f18e2b1b..05cdc7a7 100644 --- a/YuMi.xcodeproj/project.pbxproj +++ b/YuMi.xcodeproj/project.pbxproj @@ -12925,7 +12925,7 @@ CODE_SIGN_ENTITLEMENTS = YuMi/YuMi.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = 2; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = 48UCG35Q9W; ENABLE_BITCODE = NO; @@ -12979,7 +12979,7 @@ CODE_SIGN_ENTITLEMENTS = YuMi/YuMiRelease.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = 2; DEVELOPMENT_TEAM = 48UCG35Q9W; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( diff --git a/YuMi/Modules/YMRoom/View/RoomPhotoAlbum/Presenter/PIRoomPhotoAlbumItemPresenter.m b/YuMi/Modules/YMRoom/View/RoomPhotoAlbum/Presenter/PIRoomPhotoAlbumItemPresenter.m index f8eaeed4..2d47e188 100644 --- a/YuMi/Modules/YMRoom/View/RoomPhotoAlbum/Presenter/PIRoomPhotoAlbumItemPresenter.m +++ b/YuMi/Modules/YMRoom/View/RoomPhotoAlbum/Presenter/PIRoomPhotoAlbumItemPresenter.m @@ -16,11 +16,14 @@ /// - type: null=全部,1=普通,2=礼物解锁 - (void)getRoomAlbumListWithroomUid:(NSString *)roomUid type:(NSString *_Nullable)type page:(NSString *)page pageSize:(NSString *)pageSize{ NSString * uid = [AccountInfoStorage instance].getUid; - NSString * ticket = [AccountInfoStorage instance].getTicket; + NSString * ticket = [AccountInfoStorage instance].getTicket; + @kWeakify(self); [Api getRoomAlbumList:[self createHttpCompletion:^(BaseModel * _Nonnull data) { + @kStrongify(self); NSArray *list = [PIRoomPhotoAlbumItemModel modelsWithArray:data.data]; [[self getView]getRoomAlbumListSuccessWithList:list]; }fail:^(NSInteger code, NSString * _Nullable msg) { + @kStrongify(self); [[self getView]getRoomAlbumListFailWithCode:code]; } showLoading:NO errorToast:YES] roomUid:roomUid page:page pageSize:pageSize uid:uid ticket:ticket type:type] ; @@ -33,24 +36,22 @@ /// - type:类型 1=普通,2=礼物解锁 -(void)uploadRoomAlbumListWithGiftId:(NSString *_Nullable)giftId photoUrls:(NSArray *)photoUrls roomUid:(NSString *)roomUid type:(NSString *)type{ NSString * uid = [AccountInfoStorage instance].getUid; - NSString * ticket = [AccountInfoStorage instance].getTicket; - NSString *photoUrl = @""; - for (NSString *getUrl in photoUrls) { - if(photoUrl.length > 0){ - photoUrl = [NSString stringWithFormat:@"%@,%@",photoUrl,getUrl]; - }else{ - photoUrl = getUrl; - } - } + NSString * ticket = [AccountInfoStorage instance].getTicket; + NSString *photoUrl = [photoUrls componentsJoinedByString:@","]; + @kWeakify(self); [Api uploadRoomAlbumList:[self createHttpCompletion:^(BaseModel * _Nonnull data) { + @kStrongify(self); [[self getView]uploadRoomAlbumListSuccess]; } fail:^(NSInteger code, NSString * _Nullable msg) { + @kStrongify(self); [[self getView]uploadRoomAlbumListFail]; } showLoading:NO errorToast:YES] photoUrls:photoUrl roomUid:roomUid uid:uid ticket:ticket type:type giftId:giftId]; } ///删除房间相册 -(void)deleteRoomAlbumPhotoWithId:(NSString *)id{ + @kWeakify(self); [Api deleteRoomAlbumPhoto:[self createHttpCompletion:^(BaseModel * _Nonnull data) { + @kStrongify(self); [[self getView]deleteRoomAlbumPhotoSuccessWithPhotoId:id]; } fail:^(NSInteger code, NSString * _Nullable msg) { @@ -60,9 +61,12 @@ /// - Parameters: /// - photoId: 图片id -(void)sendRoomAlbumPhotoWithId:(NSString *)id roomUid:(NSString *)roomUid{ + @kWeakify(self); [Api sendRoomAlbumPhoto:[self createHttpCompletion:^(BaseModel * _Nonnull data) { + @kStrongify(self); [[self getView]sendRoomAlbumPhotoSuccess]; } fail:^(NSInteger code, NSString * _Nullable msg) { + @kStrongify(self); [[self getView]sendRoomAlbumPhotoFail]; } showLoading:NO errorToast:YES] id:id roomUid:roomUid]; } diff --git a/YuMi/Modules/YMRoom/View/RoomPhotoAlbum/View/PIRoomPhotoAlbumItemVC.m b/YuMi/Modules/YMRoom/View/RoomPhotoAlbum/View/PIRoomPhotoAlbumItemVC.m index e1440edf..91875cf6 100644 --- a/YuMi/Modules/YMRoom/View/RoomPhotoAlbum/View/PIRoomPhotoAlbumItemVC.m +++ b/YuMi/Modules/YMRoom/View/RoomPhotoAlbum/View/PIRoomPhotoAlbumItemVC.m @@ -63,17 +63,17 @@ self.page = 1; if(self.type == Photo_Album_Type_Mine){ [self.presenter getRoomAlbumListWithroomUid:self.roomUid type:@"0" page:@(self.page).stringValue pageSize:@"20"]; - return; + } else { + [self.presenter getRoomAlbumListWithroomUid:self.roomUid type:self.type == Photo_Album_Type_Normal ? @"1":@"2" page:@(self.page).stringValue pageSize:@"20"]; } - [self.presenter getRoomAlbumListWithroomUid:self.roomUid type:self.type == Photo_Album_Type_Normal ? @"1":@"2" page:@(self.page).stringValue pageSize:@"20"]; } -(void)footerRefresh{ self.page++; if(self.type == Photo_Album_Type_Mine){ [self.presenter getRoomAlbumListWithroomUid:self.roomUid type:@"0" page:@(self.page).stringValue pageSize:@"20"]; - return; + } else { + [self.presenter getRoomAlbumListWithroomUid:self.roomUid type:self.type == Photo_Album_Type_Normal ? @"1":@"2" page:@(self.page).stringValue pageSize:@"20"]; } - [self.presenter getRoomAlbumListWithroomUid:self.roomUid type:self.type == Photo_Album_Type_Normal ? @"1":@"2" page:@(self.page).stringValue pageSize:@"20"]; } - (void)initHeaderAndFooterRrfresh { MJRefreshNormalHeader *header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(headerRefresh)]; @@ -202,18 +202,19 @@ return cell; } - (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{ - if(self.type == Photo_Album_Type_Mine)return; - PIRoomPhotoAlbumItemModel *albumModel = [self.photoList xpSafeObjectAtIndex:indexPath.row]; - if(albumModel.type.intValue == 2 && albumModel.status == 0)return; - PIRoomPhotoAlbumItemCell *cell = (PIRoomPhotoAlbumItemCell *)[self.collectionView cellForItemAtIndexPath:indexPath]; - self.lookUpModel = albumModel; - SDPhotoBrowser *browser = [[SDPhotoBrowser alloc]init]; - browser.sourceImagesContainerView = cell; - browser.delegate = self; - browser.imageCount = 1; - browser.currentImageIndex = 0; - browser.isMe = NO; - [browser show]; + if (self.type != Photo_Album_Type_Mine) { + PIRoomPhotoAlbumItemModel *albumModel = [self.photoList xpSafeObjectAtIndex:indexPath.row]; + if(albumModel.type.intValue == 2 && albumModel.status == 0)return; + PIRoomPhotoAlbumItemCell *cell = (PIRoomPhotoAlbumItemCell *)[self.collectionView cellForItemAtIndexPath:indexPath]; + self.lookUpModel = albumModel; + SDPhotoBrowser *browser = [[SDPhotoBrowser alloc]init]; + browser.sourceImagesContainerView = cell; + browser.delegate = self; + browser.imageCount = 1; + browser.currentImageIndex = 0; + browser.isMe = NO; + [browser show]; + } } #pragma mark - JXCategoryListContentViewDelegate - (UIView *)listView { @@ -264,22 +265,40 @@ self.imageCount = 0; [XNDJTDDLoadingTool showOnlyView:kWindow enabled:YES]; + @kWeakify(self); [self uploadAlbumPicList:self.datasource finish:^(NSArray *list) { + @kStrongify(self); if(list.count == 0){ [XNDJTDDLoadingTool hideOnlyView:kWindow]; [self showErrorToast:YMLocalizedString(@"PIRoomPhotoAlbumItemVC1")]; return; } - if(giftModel == nil){ - [self.presenter uploadRoomAlbumListWithGiftId:nil photoUrls:list roomUid:self.roomUid type: @"1"]; - return; + + NSMutableArray *photoUrls = @[].mutableCopy; + for (NSDictionary *dic in list) { + NSString *url = [dic objectForKey:@"resUrl"]; + if (url && url.length > 0) { + [photoUrls addObject:dic[@"resUrl"]]; + } + } + + if(giftModel){ + [self.presenter uploadRoomAlbumListWithGiftId:@(giftModel.giftId).stringValue + photoUrls:photoUrls + roomUid:self.roomUid + type:@"2"]; + } else { + [self.presenter uploadRoomAlbumListWithGiftId:nil + photoUrls:photoUrls + roomUid:self.roomUid + type: @"1"]; } - [self.presenter uploadRoomAlbumListWithGiftId:@(giftModel.giftId).stringValue photoUrls:list roomUid:self.roomUid type:@"2"]; }]; } ///上传图片 - (void)uploadAlbumPicList:(NSArray *)array finish:(void(^)(NSArray *list))finish { + @kWeakify(self); dispatch_semaphore_t semaphore = dispatch_semaphore_create(1); dispatch_queue_t queue = dispatch_get_global_queue(0, 0); NSMutableArray * dataArray = [NSMutableArray array]; @@ -290,6 +309,7 @@ NSString *format = [UIImage getImageTypeWithImageData:data]; NSString *name = [NSString stringWithFormat:@"image/%@.%@",[NSString createUUID],format]; [[UploadFile share]QCloudUploadImage:data named:name success:^(NSString * _Nonnull key, NSDictionary * _Nonnull resp) { + @kStrongify(self); dispatch_semaphore_signal(semaphore); self.imageCount ++; NSMutableDictionary *dict = [NSMutableDictionary dictionary]; @@ -309,11 +329,11 @@ finish(dataArray); }); } - - } failure:^(NSNumber * _Nonnull resCode, NSString * _Nonnull message) { - self.imageCount ++; - dispatch_semaphore_signal(semaphore); - }]; + } failure:^(NSNumber * _Nonnull resCode, NSString * _Nonnull message) { + @kStrongify(self); + self.imageCount ++; + dispatch_semaphore_signal(semaphore); + }]; } }); } @@ -350,7 +370,9 @@ TTAlertConfig *config = [[TTAlertConfig alloc]init]; config.title = YMLocalizedString(@"XPIAPRechargeViewController7"); config.message = YMLocalizedString(@"PIRoomPhotoAlbumItemVC5"); + @kWeakify(self); [TTPopup alertWithConfig:config confirmHandler:^{ + @kStrongify(self); [XNDJTDDLoadingTool showOnlyView:kWindow enabled:YES]; [self.presenter sendRoomAlbumPhotoWithId:albumModel.ID roomUid:self.roomUid]; } cancelHandler:^{ @@ -361,7 +383,9 @@ TTAlertConfig *config = [[TTAlertConfig alloc]init]; config.title = YMLocalizedString(@"XPIAPRechargeViewController7"); config.message = YMLocalizedString(@"PIRoomPhotoAlbumItemVC4"); + @kWeakify(self); [TTPopup alertWithConfig:config confirmHandler:^{ + @kStrongify(self); [self.presenter deleteRoomAlbumPhotoWithId:albumModel.ID]; } cancelHandler:^{ @@ -371,7 +395,7 @@ if(albumModel.type.intValue == 2 && ![albumModel.uid isEqualToString:[AccountInfoStorage instance].getUid] && albumModel.status == 0){ return; } - NSInteger row = [self.photoList indexOfObject:albumModel]; + NSInteger row = [self.photoList indexOfObject:albumModel]; PIRoomPhotoAlbumItemCell *cell = (PIRoomPhotoAlbumItemCell *)[self.collectionView cellForItemAtIndexPath:[NSIndexPath indexPathForRow:row inSection:0]]; SDPhotoBrowser *browser = [[SDPhotoBrowser alloc]init]; if(cell != nil){ @@ -414,7 +438,6 @@ _collectionView.backgroundColor = [DJDKMIMOMColor colorWithHexString:@"#F4F4FA"]; [_collectionView registerClass:[PIRoomPhotoAlbumItemCell class] forCellWithReuseIdentifier:NSStringFromClass([PIRoomPhotoAlbumItemCell class])]; [_collectionView registerClass:[XPGuildEmptyCollectionViewCell class] forCellWithReuseIdentifier:NSStringFromClass([XPGuildEmptyCollectionViewCell class])]; - } return _collectionView; } diff --git a/YuMi/Modules/YMRoom/View/RoomPhotoAlbum/View/PIRoomPhotoAlbumVC.m b/YuMi/Modules/YMRoom/View/RoomPhotoAlbum/View/PIRoomPhotoAlbumVC.m index dfa110f8..69bfe2df 100644 --- a/YuMi/Modules/YMRoom/View/RoomPhotoAlbum/View/PIRoomPhotoAlbumVC.m +++ b/YuMi/Modules/YMRoom/View/RoomPhotoAlbum/View/PIRoomPhotoAlbumVC.m @@ -49,7 +49,6 @@ } - (id)listContainerView:(JXCategoryListContainerView *)listContainerView initListForIndex:(NSInteger)index { - UIViewController * list = (UIViewController *)[self.contentView.validListDict objectForKey:[NSNumber numberWithInteger:index]]; if (list) { return list;