Skip to content

Commit 868134e

Browse files
committed
发送冒泡 - 整理请求逻辑
1 parent f106742 commit 868134e

File tree

3 files changed

+49
-51
lines changed

3 files changed

+49
-51
lines changed

Coding_iOS/Models/Tweet.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@
7777
+(Tweet *)tweetInProject:(Project *)project andPPID:(NSString *)pp_id;
7878

7979
- (NSDictionary *)toDoTweetParams;
80-
- (BOOL)isAllImagesHaveDone;
80+
- (BOOL)isAllImagesDoneSucess;
8181
- (void)addNewComment:(Comment *)comment;
8282
- (void)deleteComment:(Comment *)comment;
8383

Coding_iOS/Models/Tweet.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -271,9 +271,9 @@ - (NSDictionary *)toDoTweetParams{
271271
}
272272
return params;
273273
}
274-
- (BOOL)isAllImagesHaveDone{
274+
- (BOOL)isAllImagesDoneSucess{
275275
for (TweetImage *imageItem in _tweetImages) {
276-
if (imageItem.uploadState != TweetImageUploadStateSuccess) {
276+
if (imageItem.imageStr.length <= 0) {
277277
return NO;
278278
}
279279
}

Coding_iOS/Util/Manager/Coding_NetAPIManager.m

Lines changed: 46 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1666,63 +1666,61 @@ - (void)request_Tweet_DoComment_WithObj:(Tweet *)tweet andBlock:(void (^)(id dat
16661666
}];
16671667
}
16681668
- (void)request_Tweet_DoTweet_WithObj:(Tweet *)tweet andBlock:(void (^)(id data, NSError *error))block{
1669-
if (tweet.tweetImages && tweet.tweetImages.count > 0) {
1670-
/**
1671-
* 冒泡多张一起发送,不显示进度条
1672-
*/
1673-
[NSObject showStatusBarQueryStr:@"正在发送冒泡"];
1674-
for (int i=0; i < tweet.tweetImages.count; i++) {
1675-
TweetImage *imageItem = [tweet.tweetImages objectAtIndex:i];
1676-
if (imageItem.uploadState == TweetImageUploadStateInit) {
1677-
imageItem.uploadState = TweetImageUploadStateIng;
1678-
[self uploadTweetImage:imageItem.image doneBlock:^(NSString *imagePath, NSError *error) {
1679-
if (imagePath) {
1680-
imageItem.uploadState = TweetImageUploadStateSuccess;
1681-
imageItem.imageStr = [NSString stringWithFormat:@" ![图片](%@) ", imagePath];
1682-
}else{
1683-
[NSObject showStatusBarError:error];
1684-
imageItem.uploadState = TweetImageUploadStateFail;
1685-
imageItem.imageStr = [NSString stringWithFormat:@" ![图片]() "];
1686-
block(nil, error);
1687-
return ;
1688-
}
1689-
if ([tweet isAllImagesHaveDone]) {
1690-
[[CodingNetAPIClient sharedJsonClient] requestJsonDataWithPath:@"api/tweet" withParams:[tweet toDoTweetParams] withMethodType:Post andBlock:^(id data, NSError *error) {
1691-
if (data) {
1692-
[MobClick event:kUmeng_Event_Request_ActionOfServer label:@"冒泡_添加_有图"];
1693-
1694-
id resultData = [data valueForKeyPath:@"data"];
1695-
Tweet *tweet = [NSObject objectOfClass:@"Tweet" fromJSON:resultData];
1696-
[NSObject showStatusBarSuccessStr:@"冒泡发送成功"];
1697-
block(tweet, nil);
1698-
}else{
1699-
[NSObject showStatusBarError:error];
1700-
block(nil, error);
1701-
}
1702-
}];
1703-
}
1704-
} progerssBlock:^(CGFloat progressValue) {
1705-
DebugLog(@"progressValue %d : %.2f", i, progressValue);
1706-
}];
1707-
}
1708-
}
1709-
// -----------------
1710-
1711-
}else{
1712-
[NSObject showStatusBarQueryStr:@"正在发送冒泡"];
1669+
//发送冒泡内容 block
1670+
void (^sendTweetBlock)() = ^{
17131671
[[CodingNetAPIClient sharedJsonClient] requestJsonDataWithPath:@"api/tweet" withParams:[tweet toDoTweetParams] withMethodType:Post andBlock:^(id data, NSError *error) {
17141672
if (data) {
1715-
[MobClick event:kUmeng_Event_Request_ActionOfServer label:@"冒泡_添加_无图"];
1716-
1673+
[MobClick event:kUmeng_Event_Request_ActionOfServer label:tweet.tweetImages.count > 0? @"冒泡_添加_有图": @"冒泡_添加_无图"];
1674+
17171675
id resultData = [data valueForKeyPath:@"data"];
1718-
Tweet *tweet = [NSObject objectOfClass:@"Tweet" fromJSON:resultData];
1676+
Tweet *result = [NSObject objectOfClass:@"Tweet" fromJSON:resultData];
17191677
[NSObject showStatusBarSuccessStr:@"冒泡发送成功"];
1720-
block(tweet, nil);
1678+
block(result, nil);
17211679
}else{
17221680
[NSObject showStatusBarError:error];
17231681
block(nil, error);
17241682
}
17251683
}];
1684+
};
1685+
//开始发送
1686+
[NSObject showStatusBarQueryStr:@"正在发送冒泡"];
1687+
//无图片的冒泡,直接发送
1688+
if (tweet.tweetImages.count <= 0) {
1689+
sendTweetBlock();
1690+
return;
1691+
}
1692+
//判断图片是否全部上传完毕,是的话就发送该冒泡 block
1693+
BOOL (^whetherAllImagesUploadedAndSendTweetBlock)() = ^{
1694+
if (tweet.isAllImagesDoneSucess) {
1695+
sendTweetBlock();
1696+
}
1697+
return tweet.isAllImagesDoneSucess;
1698+
};
1699+
//图片均已上传,直接发送
1700+
if (whetherAllImagesUploadedAndSendTweetBlock()) {
1701+
return;
1702+
}
1703+
//遍历上传图片
1704+
for (TweetImage *imageItem in tweet.tweetImages) {
1705+
if (imageItem.imageStr.length > 0) {
1706+
whetherAllImagesUploadedAndSendTweetBlock();
1707+
}else{
1708+
if (imageItem.uploadState != TweetImageUploadStateIng) {
1709+
imageItem.uploadState = TweetImageUploadStateIng;
1710+
[self uploadTweetImage:imageItem.image doneBlock:^(NSString *imagePath, NSError *error) {
1711+
imageItem.uploadState = imagePath? TweetImageUploadStateSuccess: TweetImageUploadStateFail;
1712+
if (!imagePath) {
1713+
[NSObject showStatusBarError:error];
1714+
block(nil, error);
1715+
}else{
1716+
imageItem.imageStr = [NSString stringWithFormat:@"![](%@)", imagePath];
1717+
whetherAllImagesUploadedAndSendTweetBlock();
1718+
}
1719+
} progerssBlock:^(CGFloat progressValue) {
1720+
DebugLog(@"progressValue %@ : %.2f", imageItem.assetURL.query, progressValue);
1721+
}];
1722+
}
1723+
}
17261724
}
17271725
}
17281726

0 commit comments

Comments
 (0)