@@ -1666,63 +1666,61 @@ - (void)request_Tweet_DoComment_WithObj:(Tweet *)tweet andBlock:(void (^)(id dat
1666
1666
}];
1667
1667
}
1668
1668
- (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)() = ^{
1713
1671
[[CodingNetAPIClient sharedJsonClient ] requestJsonDataWithPath: @" api/tweet" withParams: [tweet toDoTweetParams ] withMethodType: Post andBlock: ^(id data, NSError *error) {
1714
1672
if (data) {
1715
- [MobClick event: kUmeng_Event_Request_ActionOfServer label: @" 冒泡_添加_无图" ];
1716
-
1673
+ [MobClick event: kUmeng_Event_Request_ActionOfServer label: tweet.tweetImages.count > 0 ? @" 冒泡_添加_有图 " : @" 冒泡_添加_无图" ];
1674
+
1717
1675
id resultData = [data valueForKeyPath: @" data" ];
1718
- Tweet *tweet = [NSObject objectOfClass: @" Tweet" fromJSON: resultData];
1676
+ Tweet *result = [NSObject objectOfClass: @" Tweet" fromJSON: resultData];
1719
1677
[NSObject showStatusBarSuccessStr: @" 冒泡发送成功" ];
1720
- block (tweet , nil );
1678
+ block (result , nil );
1721
1679
}else {
1722
1680
[NSObject showStatusBarError: error];
1723
1681
block (nil , error);
1724
1682
}
1725
1683
}];
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
+ }
1726
1724
}
1727
1725
}
1728
1726
0 commit comments