@@ -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