// // uploadFileManager.m // 隐私保护 // // Created by xd h on 2023/11/15. // #import "uploadFileManager.h" @implementation uploadFileManager static uploadFileManager * cur_uploadFileShareInstance = nil; +(uploadFileManager *)shareInstance; { static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ cur_uploadFileShareInstance = [[uploadFileManager alloc] init]; }); return cur_uploadFileShareInstance; } - (id)init { self = [super init]; if (self) { //[self initManager]; } return self; } //把TZAssetModel 转成 我们需要上传的model - (NSMutableArray*)handlTZAssetModelToUploadFileDataFunBy:(NSMutableArray*)indexPathsForSelectedItems { _fileModelDataArr = [NSMutableArray new]; for (TZAssetModel * model in indexPathsForSelectedItems) { uploadFileDataModel * curModel = [uploadFileDataModel new]; curModel.imageData = model.imageData; curModel.videoData = model.videoData; curModel.filename = [model.asset valueForKey:@"filename"]; curModel.curUploadStateType = uploadStateWait; if(model.type == TZAssetModelMediaTypeVideo){ curModel.curUploadFileType = uploadFileTypeVideo; } else{ curModel.curUploadFileType = uploadFileTypeImage; } [_fileModelDataArr addObject:curModel]; //保存到数据库 curModel.bg_tableName = upLoadFile_image_tableName; [curModel bg_saveOrUpdateAsync:^(BOOL isSuccess) { HLog(@"%@ 写入 %@", curModel.filename, isSuccess ? @"成功":@"失败"); }]; } KWeakSelf if(_fileModelDataArr.count > 0){ //骚操作 重新查出来 拿到bg_id [uploadFileDataModel bg_findAsync:upLoadFile_image_tableName limit:_fileModelDataArr.count orderBy:nil desc:YES complete:^(NSArray * _Nullable array) { for (int i=0; i_curUploadFileDataModel.filename, isSuccess ? @"成功":@"失败"); }]; } complete(YES); }]; } - (void)uploadFileDoneFun { long totalSizeByte = [_curUploadFileDataModel.imageData length]; if(_curUploadFileDataModel.curUploadFileType == uploadFileTypeVideo){ totalSizeByte = [_curUploadFileDataModel.videoData length]; } [self changeUploadFileState:uploadStateDone withDidUploadBytes:totalSizeByte complete:^(BOOL isSuccess) { [self->_fileModelDataArr removeObject:self->_curUploadFileDataModel]; if(self->_fileModelDataArr.count > 0){ [self beginUploadFileFun]; } }]; } @end