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_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 = (

View File

@@ -17,10 +17,13 @@
- (void)getRoomAlbumListWithroomUid:(NSString *)roomUid type:(NSString *_Nullable)type page:(NSString *)page pageSize:(NSString *)pageSize{
NSString * uid = [AccountInfoStorage instance].getUid;
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] ;
@@ -34,23 +37,21 @@
-(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 *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];
}

View File

@@ -63,18 +63,18 @@
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"];
}
}
-(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"];
}
}
- (void)initHeaderAndFooterRrfresh {
MJRefreshNormalHeader *header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(headerRefresh)];
header.stateLabel.font = [UIFont systemFontOfSize:10.0];
@@ -202,7 +202,7 @@
return cell;
}
- (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];
if(albumModel.type.intValue == 2 && albumModel.status == 0)return;
PIRoomPhotoAlbumItemCell *cell = (PIRoomPhotoAlbumItemCell *)[self.collectionView cellForItemAtIndexPath:indexPath];
@@ -215,6 +215,7 @@
browser.isMe = NO;
[browser show];
}
}
#pragma mark - JXCategoryListContentViewDelegate
- (UIView *)listView {
return self.view;
@@ -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,8 +329,8 @@
finish(dataArray);
});
}
} 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:^{
@@ -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;
}

View File

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