Commit 331e87fe7812c4b7391b287c5401a84b115144a5
1 parent
e8878d4a
0.7.5 版本
Showing
4 changed files
with
22 additions
and
6 deletions
CNLiveNewIMAManagerKit.podspec
CNLiveNewIMAManagerKit/Classes/Playform/IMAConversationManager.h
| ... | ... | @@ -119,8 +119,9 @@ typedef void (^IMAConversationChangedCompletion)(IMAConversationChangedNotifyIte |
| 119 | 119 | - (void)updateConversationWith:(IMAUser *)user; |
| 120 | 120 | |
| 121 | 121 | /// zx 异步获取当前最新的所有未读数(去除所有大号的未读数) |
| 122 | -/// @param complete 完成回调 | |
| 123 | -- (void)getExceptSysUnReadCount:(void(^)(NSInteger count))complete; | |
| 122 | +/// @param complete 回调 count 是未读数, | |
| 123 | +/// groupNotPushUnreadCount 未群聊开启免打扰时,统计的群的未读消息数 | |
| 124 | +- (void)getExceptSysUnReadCount:(void(^)(NSInteger count, NSInteger groupNotPushUnreadCount))complete; | |
| 124 | 125 | |
| 125 | 126 | /// 是否是自定义消息 |
| 126 | 127 | /// @param elem TIMElem | ... | ... |
CNLiveNewIMAManagerKit/Classes/Playform/IMAConversationManager.m
| ... | ... | @@ -1707,10 +1707,16 @@ |
| 1707 | 1707 | { |
| 1708 | 1708 | } |
| 1709 | 1709 | |
| 1710 | -- (void)getExceptSysUnReadCount:(void (^)(NSInteger))complete | |
| 1710 | +/// zx 异步获取当前最新的所有未读数(去除所有大号的未读数) | |
| 1711 | +/// @param complete 回调 count 是未读数, | |
| 1712 | +/// groupNotPushUnreadCount 未群聊开启免打扰时,统计的群的未读消息数 | |
| 1713 | +- (void)getExceptSysUnReadCount:(void (^)(NSInteger count, NSInteger groupNotPushUnreadCount))complete | |
| 1711 | 1714 | { |
| 1712 | 1715 | dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ |
| 1713 | 1716 | __block NSInteger unReadCount = 0; |
| 1717 | + ///群聊如果设置了消息免打扰,记录下群聊免打扰未读数 | |
| 1718 | + __block NSInteger groupNotPushUnreadCount = 0; | |
| 1719 | + | |
| 1714 | 1720 | NSArray *conversationArray = _conversationList.safeArray.copy; |
| 1715 | 1721 | for (int i = 0; i < conversationArray.count; i ++) { |
| 1716 | 1722 | IMAConversation *conv = [conversationArray objectAtIndex:i]; |
| ... | ... | @@ -1740,6 +1746,10 @@ |
| 1740 | 1746 | if ([conv.receiveMessageOpt isEqualToString:@"接收消息"]) { |
| 1741 | 1747 | unReadCount += [conv unReadCount]; |
| 1742 | 1748 | } |
| 1749 | + else{ | |
| 1750 | + groupNotPushUnreadCount += [conv unReadCount]; | |
| 1751 | + } | |
| 1752 | + | |
| 1743 | 1753 | } |
| 1744 | 1754 | else |
| 1745 | 1755 | { |
| ... | ... | @@ -1747,6 +1757,9 @@ |
| 1747 | 1757 | if ([[group receiveMessageOpt] isEqualToString:@"接收消息"]) { |
| 1748 | 1758 | unReadCount += [conv unReadCount]; |
| 1749 | 1759 | } |
| 1760 | + else{ | |
| 1761 | + groupNotPushUnreadCount += [conv unReadCount]; | |
| 1762 | + } | |
| 1750 | 1763 | } |
| 1751 | 1764 | |
| 1752 | 1765 | } |
| ... | ... | @@ -1762,7 +1775,7 @@ |
| 1762 | 1775 | } |
| 1763 | 1776 | [IMAPlatform sharedInstance].conversationMgr.unReadMessageCount = unReadCount; |
| 1764 | 1777 | if (complete) { |
| 1765 | - complete(unReadCount); | |
| 1778 | + complete(unReadCount, groupNotPushUnreadCount); | |
| 1766 | 1779 | } |
| 1767 | 1780 | }); |
| 1768 | 1781 | ... | ... |
CNLiveNewIMAManagerKit/Classes/Playform/IMAPlatform+AppConfig.m
| ... | ... | @@ -25,7 +25,8 @@ |
| 25 | 25 | // 将相关的配置缓存至本地 |
| 26 | 26 | [[IMAPlatform sharedInstance] saveToLocal]; |
| 27 | 27 | |
| 28 | - [[IMAPlatform sharedInstance].conversationMgr getExceptSysUnReadCount:^(NSInteger count) { | |
| 28 | + [[IMAPlatform sharedInstance].conversationMgr getExceptSysUnReadCount:^(NSInteger count, NSInteger groupNotPushUnreadCount) { | |
| 29 | + | |
| 29 | 30 | dispatch_async(dispatch_get_main_queue(), ^{ |
| 30 | 31 | NSUInteger unReadCount = count; |
| 31 | 32 | if (unReadCount > 999) unReadCount = 999; |
| ... | ... | @@ -42,6 +43,7 @@ |
| 42 | 43 | DebugLog(@"Fail: %d->%@", code, err); |
| 43 | 44 | }]; |
| 44 | 45 | }); |
| 46 | + | |
| 45 | 47 | }]; |
| 46 | 48 | |
| 47 | 49 | } | ... | ... |