fix: 修正房间相册上传问题

This commit is contained in:
eggmanQQQ
2024-08-06 15:07:21 +08:00
parent 5cb36eb8b5
commit 75bdf84320
4 changed files with 66 additions and 40 deletions

View File

@@ -12925,7 +12925,7 @@
CODE_SIGN_ENTITLEMENTS = YuMi/YuMi.entitlements; CODE_SIGN_ENTITLEMENTS = YuMi/YuMi.entitlements;
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 2;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = 48UCG35Q9W; DEVELOPMENT_TEAM = 48UCG35Q9W;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
@@ -12979,7 +12979,7 @@
CODE_SIGN_ENTITLEMENTS = YuMi/YuMiRelease.entitlements; CODE_SIGN_ENTITLEMENTS = YuMi/YuMiRelease.entitlements;
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 2;
DEVELOPMENT_TEAM = 48UCG35Q9W; DEVELOPMENT_TEAM = 48UCG35Q9W;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = ( FRAMEWORK_SEARCH_PATHS = (

View File

@@ -16,11 +16,14 @@
/// - type: null=1=2= /// - type: null=1=2=
- (void)getRoomAlbumListWithroomUid:(NSString *)roomUid type:(NSString *_Nullable)type page:(NSString *)page pageSize:(NSString *)pageSize{ - (void)getRoomAlbumListWithroomUid:(NSString *)roomUid type:(NSString *_Nullable)type page:(NSString *)page pageSize:(NSString *)pageSize{
NSString * uid = [AccountInfoStorage instance].getUid; NSString * uid = [AccountInfoStorage instance].getUid;
NSString * ticket = [AccountInfoStorage instance].getTicket; NSString * ticket = [AccountInfoStorage instance].getTicket;
@kWeakify(self);
[Api getRoomAlbumList:[self createHttpCompletion:^(BaseModel * _Nonnull data) { [Api getRoomAlbumList:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
@kStrongify(self);
NSArray *list = [PIRoomPhotoAlbumItemModel modelsWithArray:data.data]; NSArray *list = [PIRoomPhotoAlbumItemModel modelsWithArray:data.data];
[[self getView]getRoomAlbumListSuccessWithList:list]; [[self getView]getRoomAlbumListSuccessWithList:list];
}fail:^(NSInteger code, NSString * _Nullable msg) { }fail:^(NSInteger code, NSString * _Nullable msg) {
@kStrongify(self);
[[self getView]getRoomAlbumListFailWithCode:code]; [[self getView]getRoomAlbumListFailWithCode:code];
} showLoading:NO errorToast:YES] roomUid:roomUid page:page pageSize:pageSize uid:uid ticket:ticket type:type] ; } showLoading:NO errorToast:YES] roomUid:roomUid page:page pageSize:pageSize uid:uid ticket:ticket type:type] ;
@@ -33,24 +36,22 @@
/// - type: 1=2= /// - type: 1=2=
-(void)uploadRoomAlbumListWithGiftId:(NSString *_Nullable)giftId photoUrls:(NSArray *)photoUrls roomUid:(NSString *)roomUid type:(NSString *)type{ -(void)uploadRoomAlbumListWithGiftId:(NSString *_Nullable)giftId photoUrls:(NSArray *)photoUrls roomUid:(NSString *)roomUid type:(NSString *)type{
NSString * uid = [AccountInfoStorage instance].getUid; NSString * uid = [AccountInfoStorage instance].getUid;
NSString * ticket = [AccountInfoStorage instance].getTicket; NSString * ticket = [AccountInfoStorage instance].getTicket;
NSString *photoUrl = @""; NSString *photoUrl = [photoUrls componentsJoinedByString:@","];
for (NSString *getUrl in photoUrls) { @kWeakify(self);
if(photoUrl.length > 0){
photoUrl = [NSString stringWithFormat:@"%@,%@",photoUrl,getUrl];
}else{
photoUrl = getUrl;
}
}
[Api uploadRoomAlbumList:[self createHttpCompletion:^(BaseModel * _Nonnull data) { [Api uploadRoomAlbumList:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
@kStrongify(self);
[[self getView]uploadRoomAlbumListSuccess]; [[self getView]uploadRoomAlbumListSuccess];
} fail:^(NSInteger code, NSString * _Nullable msg) { } fail:^(NSInteger code, NSString * _Nullable msg) {
@kStrongify(self);
[[self getView]uploadRoomAlbumListFail]; [[self getView]uploadRoomAlbumListFail];
} showLoading:NO errorToast:YES] photoUrls:photoUrl roomUid:roomUid uid:uid ticket:ticket type:type giftId:giftId]; } showLoading:NO errorToast:YES] photoUrls:photoUrl roomUid:roomUid uid:uid ticket:ticket type:type giftId:giftId];
} }
/// ///
-(void)deleteRoomAlbumPhotoWithId:(NSString *)id{ -(void)deleteRoomAlbumPhotoWithId:(NSString *)id{
@kWeakify(self);
[Api deleteRoomAlbumPhoto:[self createHttpCompletion:^(BaseModel * _Nonnull data) { [Api deleteRoomAlbumPhoto:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
@kStrongify(self);
[[self getView]deleteRoomAlbumPhotoSuccessWithPhotoId:id]; [[self getView]deleteRoomAlbumPhotoSuccessWithPhotoId:id];
} fail:^(NSInteger code, NSString * _Nullable msg) { } fail:^(NSInteger code, NSString * _Nullable msg) {
@@ -60,9 +61,12 @@
/// - Parameters: /// - Parameters:
/// - photoId: id /// - photoId: id
-(void)sendRoomAlbumPhotoWithId:(NSString *)id roomUid:(NSString *)roomUid{ -(void)sendRoomAlbumPhotoWithId:(NSString *)id roomUid:(NSString *)roomUid{
@kWeakify(self);
[Api sendRoomAlbumPhoto:[self createHttpCompletion:^(BaseModel * _Nonnull data) { [Api sendRoomAlbumPhoto:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
@kStrongify(self);
[[self getView]sendRoomAlbumPhotoSuccess]; [[self getView]sendRoomAlbumPhotoSuccess];
} fail:^(NSInteger code, NSString * _Nullable msg) { } fail:^(NSInteger code, NSString * _Nullable msg) {
@kStrongify(self);
[[self getView]sendRoomAlbumPhotoFail]; [[self getView]sendRoomAlbumPhotoFail];
} showLoading:NO errorToast:YES] id:id roomUid:roomUid]; } showLoading:NO errorToast:YES] id:id roomUid:roomUid];
} }

View File

@@ -63,17 +63,17 @@
self.page = 1; self.page = 1;
if(self.type == Photo_Album_Type_Mine){ if(self.type == Photo_Album_Type_Mine){
[self.presenter getRoomAlbumListWithroomUid:self.roomUid type:@"0" page:@(self.page).stringValue pageSize:@"20"]; [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{ -(void)footerRefresh{
self.page++; self.page++;
if(self.type == Photo_Album_Type_Mine){ if(self.type == Photo_Album_Type_Mine){
[self.presenter getRoomAlbumListWithroomUid:self.roomUid type:@"0" page:@(self.page).stringValue pageSize:@"20"]; [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 { - (void)initHeaderAndFooterRrfresh {
MJRefreshNormalHeader *header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(headerRefresh)]; MJRefreshNormalHeader *header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(headerRefresh)];
@@ -202,18 +202,19 @@
return cell; return cell;
} }
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{ - (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
if(self.type == Photo_Album_Type_Mine)return; if (self.type != Photo_Album_Type_Mine) {
PIRoomPhotoAlbumItemModel *albumModel = [self.photoList xpSafeObjectAtIndex:indexPath.row]; PIRoomPhotoAlbumItemModel *albumModel = [self.photoList xpSafeObjectAtIndex:indexPath.row];
if(albumModel.type.intValue == 2 && albumModel.status == 0)return; if(albumModel.type.intValue == 2 && albumModel.status == 0)return;
PIRoomPhotoAlbumItemCell *cell = (PIRoomPhotoAlbumItemCell *)[self.collectionView cellForItemAtIndexPath:indexPath]; PIRoomPhotoAlbumItemCell *cell = (PIRoomPhotoAlbumItemCell *)[self.collectionView cellForItemAtIndexPath:indexPath];
self.lookUpModel = albumModel; self.lookUpModel = albumModel;
SDPhotoBrowser *browser = [[SDPhotoBrowser alloc]init]; SDPhotoBrowser *browser = [[SDPhotoBrowser alloc]init];
browser.sourceImagesContainerView = cell; browser.sourceImagesContainerView = cell;
browser.delegate = self; browser.delegate = self;
browser.imageCount = 1; browser.imageCount = 1;
browser.currentImageIndex = 0; browser.currentImageIndex = 0;
browser.isMe = NO; browser.isMe = NO;
[browser show]; [browser show];
}
} }
#pragma mark - JXCategoryListContentViewDelegate #pragma mark - JXCategoryListContentViewDelegate
- (UIView *)listView { - (UIView *)listView {
@@ -264,22 +265,40 @@
self.imageCount = 0; self.imageCount = 0;
[XNDJTDDLoadingTool showOnlyView:kWindow enabled:YES]; [XNDJTDDLoadingTool showOnlyView:kWindow enabled:YES];
@kWeakify(self);
[self uploadAlbumPicList:self.datasource finish:^(NSArray *list) { [self uploadAlbumPicList:self.datasource finish:^(NSArray *list) {
@kStrongify(self);
if(list.count == 0){ if(list.count == 0){
[XNDJTDDLoadingTool hideOnlyView:kWindow]; [XNDJTDDLoadingTool hideOnlyView:kWindow];
[self showErrorToast:YMLocalizedString(@"PIRoomPhotoAlbumItemVC1")]; [self showErrorToast:YMLocalizedString(@"PIRoomPhotoAlbumItemVC1")];
return; return;
} }
if(giftModel == nil){
[self.presenter uploadRoomAlbumListWithGiftId:nil photoUrls:list roomUid:self.roomUid type: @"1"]; NSMutableArray *photoUrls = @[].mutableCopy;
return; 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 { - (void)uploadAlbumPicList:(NSArray *)array finish:(void(^)(NSArray *list))finish {
@kWeakify(self);
dispatch_semaphore_t semaphore = dispatch_semaphore_create(1); dispatch_semaphore_t semaphore = dispatch_semaphore_create(1);
dispatch_queue_t queue = dispatch_get_global_queue(0, 0); dispatch_queue_t queue = dispatch_get_global_queue(0, 0);
NSMutableArray * dataArray = [NSMutableArray array]; NSMutableArray * dataArray = [NSMutableArray array];
@@ -290,6 +309,7 @@
NSString *format = [UIImage getImageTypeWithImageData:data]; NSString *format = [UIImage getImageTypeWithImageData:data];
NSString *name = [NSString stringWithFormat:@"image/%@.%@",[NSString createUUID],format]; NSString *name = [NSString stringWithFormat:@"image/%@.%@",[NSString createUUID],format];
[[UploadFile share]QCloudUploadImage:data named:name success:^(NSString * _Nonnull key, NSDictionary * _Nonnull resp) { [[UploadFile share]QCloudUploadImage:data named:name success:^(NSString * _Nonnull key, NSDictionary * _Nonnull resp) {
@kStrongify(self);
dispatch_semaphore_signal(semaphore); dispatch_semaphore_signal(semaphore);
self.imageCount ++; self.imageCount ++;
NSMutableDictionary *dict = [NSMutableDictionary dictionary]; NSMutableDictionary *dict = [NSMutableDictionary dictionary];
@@ -309,11 +329,11 @@
finish(dataArray); finish(dataArray);
}); });
} }
} failure:^(NSNumber * _Nonnull resCode, NSString * _Nonnull message) {
} failure:^(NSNumber * _Nonnull resCode, NSString * _Nonnull message) { @kStrongify(self);
self.imageCount ++; self.imageCount ++;
dispatch_semaphore_signal(semaphore); dispatch_semaphore_signal(semaphore);
}]; }];
} }
}); });
} }
@@ -350,7 +370,9 @@
TTAlertConfig *config = [[TTAlertConfig alloc]init]; TTAlertConfig *config = [[TTAlertConfig alloc]init];
config.title = YMLocalizedString(@"XPIAPRechargeViewController7"); config.title = YMLocalizedString(@"XPIAPRechargeViewController7");
config.message = YMLocalizedString(@"PIRoomPhotoAlbumItemVC5"); config.message = YMLocalizedString(@"PIRoomPhotoAlbumItemVC5");
@kWeakify(self);
[TTPopup alertWithConfig:config confirmHandler:^{ [TTPopup alertWithConfig:config confirmHandler:^{
@kStrongify(self);
[XNDJTDDLoadingTool showOnlyView:kWindow enabled:YES]; [XNDJTDDLoadingTool showOnlyView:kWindow enabled:YES];
[self.presenter sendRoomAlbumPhotoWithId:albumModel.ID roomUid:self.roomUid]; [self.presenter sendRoomAlbumPhotoWithId:albumModel.ID roomUid:self.roomUid];
} cancelHandler:^{ } cancelHandler:^{
@@ -361,7 +383,9 @@
TTAlertConfig *config = [[TTAlertConfig alloc]init]; TTAlertConfig *config = [[TTAlertConfig alloc]init];
config.title = YMLocalizedString(@"XPIAPRechargeViewController7"); config.title = YMLocalizedString(@"XPIAPRechargeViewController7");
config.message = YMLocalizedString(@"PIRoomPhotoAlbumItemVC4"); config.message = YMLocalizedString(@"PIRoomPhotoAlbumItemVC4");
@kWeakify(self);
[TTPopup alertWithConfig:config confirmHandler:^{ [TTPopup alertWithConfig:config confirmHandler:^{
@kStrongify(self);
[self.presenter deleteRoomAlbumPhotoWithId:albumModel.ID]; [self.presenter deleteRoomAlbumPhotoWithId:albumModel.ID];
} cancelHandler:^{ } cancelHandler:^{
@@ -371,7 +395,7 @@
if(albumModel.type.intValue == 2 && ![albumModel.uid isEqualToString:[AccountInfoStorage instance].getUid] && albumModel.status == 0){ if(albumModel.type.intValue == 2 && ![albumModel.uid isEqualToString:[AccountInfoStorage instance].getUid] && albumModel.status == 0){
return; return;
} }
NSInteger row = [self.photoList indexOfObject:albumModel]; NSInteger row = [self.photoList indexOfObject:albumModel];
PIRoomPhotoAlbumItemCell *cell = (PIRoomPhotoAlbumItemCell *)[self.collectionView cellForItemAtIndexPath:[NSIndexPath indexPathForRow:row inSection:0]]; PIRoomPhotoAlbumItemCell *cell = (PIRoomPhotoAlbumItemCell *)[self.collectionView cellForItemAtIndexPath:[NSIndexPath indexPathForRow:row inSection:0]];
SDPhotoBrowser *browser = [[SDPhotoBrowser alloc]init]; SDPhotoBrowser *browser = [[SDPhotoBrowser alloc]init];
if(cell != nil){ if(cell != nil){
@@ -414,7 +438,6 @@
_collectionView.backgroundColor = [DJDKMIMOMColor colorWithHexString:@"#F4F4FA"]; _collectionView.backgroundColor = [DJDKMIMOMColor colorWithHexString:@"#F4F4FA"];
[_collectionView registerClass:[PIRoomPhotoAlbumItemCell class] forCellWithReuseIdentifier:NSStringFromClass([PIRoomPhotoAlbumItemCell class])]; [_collectionView registerClass:[PIRoomPhotoAlbumItemCell class] forCellWithReuseIdentifier:NSStringFromClass([PIRoomPhotoAlbumItemCell class])];
[_collectionView registerClass:[XPGuildEmptyCollectionViewCell class] forCellWithReuseIdentifier:NSStringFromClass([XPGuildEmptyCollectionViewCell class])]; [_collectionView registerClass:[XPGuildEmptyCollectionViewCell class] forCellWithReuseIdentifier:NSStringFromClass([XPGuildEmptyCollectionViewCell class])];
} }
return _collectionView; return _collectionView;
} }

View File

@@ -49,7 +49,6 @@
} }
- (id<JXCategoryListContentViewDelegate>)listContainerView:(JXCategoryListContainerView *)listContainerView initListForIndex:(NSInteger)index { - (id<JXCategoryListContentViewDelegate>)listContainerView:(JXCategoryListContainerView *)listContainerView initListForIndex:(NSInteger)index {
UIViewController<JXCategoryListContentViewDelegate> * list = (UIViewController<JXCategoryListContentViewDelegate> *)[self.contentView.validListDict objectForKey:[NSNumber numberWithInteger:index]]; UIViewController<JXCategoryListContentViewDelegate> * list = (UIViewController<JXCategoryListContentViewDelegate> *)[self.contentView.validListDict objectForKey:[NSNumber numberWithInteger:index]];
if (list) { if (list) {
return list; return list;