Browse Source

digest和formatnotification加上message参数

heavyrain2012 5 years ago
parent
commit
8be2bcc587
32 changed files with 70 additions and 62 deletions
  1. 1 1
      wfchat/WildFireChat/AppDelegate.m
  2. 3 3
      wfclient/WFChatClient/Messages/WFCCAddGroupeMemberNotificationContent.m
  3. 1 1
      wfclient/WFChatClient/Messages/WFCCCallStartMessageContent.m
  4. 3 3
      wfclient/WFChatClient/Messages/WFCCChangeGroupNameNotificationContent.m
  5. 3 3
      wfclient/WFChatClient/Messages/WFCCChangeGroupPortraitNotificationContent.m
  6. 3 3
      wfclient/WFChatClient/Messages/WFCCCreateGroupNotificationContent.m
  7. 3 3
      wfclient/WFChatClient/Messages/WFCCDismissGroupNotificationContent.m
  8. 1 1
      wfclient/WFChatClient/Messages/WFCCFileMessageContent.m
  9. 1 1
      wfclient/WFChatClient/Messages/WFCCImageMessageContent.m
  10. 3 3
      wfclient/WFChatClient/Messages/WFCCKickoffGroupMemberNotificaionContent.m
  11. 1 1
      wfclient/WFChatClient/Messages/WFCCLocationMessageContent.m
  12. 2 0
      wfclient/WFChatClient/Messages/WFCCMessage.h
  13. 3 1
      wfclient/WFChatClient/Messages/WFCCMessage.m
  14. 2 1
      wfclient/WFChatClient/Messages/WFCCMessageContent.h
  15. 1 1
      wfclient/WFChatClient/Messages/WFCCMessageContent.m
  16. 3 3
      wfclient/WFChatClient/Messages/WFCCModifyGroupAliasNotificationContent.m
  17. 3 2
      wfclient/WFChatClient/Messages/WFCCNotificationMessageContent.h
  18. 1 1
      wfclient/WFChatClient/Messages/WFCCNotificationMessageContent.m
  19. 3 3
      wfclient/WFChatClient/Messages/WFCCQuitGroupNotificationContent.m
  20. 6 3
      wfclient/WFChatClient/Messages/WFCCRecallMessageContent.m
  21. 1 1
      wfclient/WFChatClient/Messages/WFCCSoundMessageContent.m
  22. 1 1
      wfclient/WFChatClient/Messages/WFCCStickerMessageContent.m
  23. 1 1
      wfclient/WFChatClient/Messages/WFCCTextMessageContent.m
  24. 2 2
      wfclient/WFChatClient/Messages/WFCCTipNotificationMessageContent.m
  25. 3 3
      wfclient/WFChatClient/Messages/WFCCTransferGroupOwnerNotificationContent.m
  26. 1 1
      wfclient/WFChatClient/Messages/WFCCTypingMessageContent.m
  27. 1 1
      wfclient/WFChatClient/Messages/WFCCUnknownMessageContent.m
  28. 1 1
      wfclient/WFChatClient/Messages/WFCCVideoMessageContent.m
  29. 6 6
      wfuikit/WFChatUIKit/ConversationList/Cell/WFCUConversationTableViewCell.m
  30. 1 1
      wfuikit/WFChatUIKit/ConversationList/SearchCell/WFCUConversationSearchTableViewCell.m
  31. 1 1
      wfuikit/WFChatUIKit/ForwardMessage/WFCUShareMessageView.m
  32. 4 5
      wfuikit/WFChatUIKit/MessageList/Cell/WFCUInformationCell.m

+ 1 - 1
wfchat/WildFireChat/AppDelegate.m

@@ -168,7 +168,7 @@
             if((flag & 0x03) && !info.isSilent && ![msg.content isKindOfClass:[WFCCCallStartMessageContent class]]) {
               UILocalNotification *localNote = [[UILocalNotification alloc] init];
               
-              localNote.alertBody = [msg.content digest];
+              localNote.alertBody = [msg digest];
               if (msg.conversation.type == Single_Type) {
                 WFCCUserInfo *sender = [[WFCCIMService sharedWFCIMService] getUserInfo:msg.conversation.target refresh:NO];
                 if (sender.name) {

+ 3 - 3
wfclient/WFChatClient/Messages/WFCCAddGroupeMemberNotificationContent.m

@@ -63,11 +63,11 @@
     [[WFCCIMService sharedWFCIMService] registerMessageContent:self];
 }
 
-- (NSString *)digest {
-    return [self formatNotification];
+- (NSString *)digest:(WFCCMessage *)message {
+    return [self formatNotification:message];
 }
 
-- (NSString *)formatNotification {
+- (NSString *)formatNotification:(WFCCMessage *)message {
     NSString *formatMsg;
     if ([self.invitees count] == 1 && [[self.invitees objectAtIndex:0] isEqualToString:self.invitor]) {
         if ([[WFCCNetworkService sharedInstance].userId isEqualToString:self.invitor]) {

+ 1 - 1
wfclient/WFChatClient/Messages/WFCCCallStartMessageContent.m

@@ -64,7 +64,7 @@
     [[WFCCIMService sharedWFCIMService] registerMessageContent:self];
 }
 
-- (NSString *)digest {
+- (NSString *)digest:(WFCCMessage *)message {
     if (_audioOnly) {
         return @"[语音通话]";
     } else {

+ 3 - 3
wfclient/WFChatClient/Messages/WFCCChangeGroupNameNotificationContent.m

@@ -65,11 +65,11 @@
     [[WFCCIMService sharedWFCIMService] registerMessageContent:self];
 }
 
-- (NSString *)digest {
-    return [self formatNotification];
+- (NSString *)digest:(WFCCMessage *)message {
+    return [self formatNotification:message];
 }
 
-- (NSString *)formatNotification {
+- (NSString *)formatNotification:(WFCCMessage *)message {
     NSString *formatMsg;
     if ([[WFCCNetworkService sharedInstance].userId isEqualToString:self.operateUser]) {
         formatMsg = [NSString stringWithFormat:@"你修改群名称为:%@", self.name];

+ 3 - 3
wfclient/WFChatClient/Messages/WFCCChangeGroupPortraitNotificationContent.m

@@ -58,11 +58,11 @@
     [[WFCCIMService sharedWFCIMService] registerMessageContent:self];
 }
 
-- (NSString *)digest {
-    return [self formatNotification];
+- (NSString *)digest:(WFCCMessage *)message {
+    return [self formatNotification:message];
 }
 
-- (NSString *)formatNotification {
+- (NSString *)formatNotification:(WFCCMessage *)message {
     NSString *formatMsg;
     if ([[WFCCNetworkService sharedInstance].userId isEqualToString:self.operateUser]) {
         formatMsg = @"你更新了群头像";

+ 3 - 3
wfclient/WFChatClient/Messages/WFCCCreateGroupNotificationContent.m

@@ -61,11 +61,11 @@
     [[WFCCIMService sharedWFCIMService] registerMessageContent:self];
 }
 
-- (NSString *)digest {
-    return [self formatNotification];
+- (NSString *)digest:(WFCCMessage *)message {
+    return [self formatNotification:message];
 }
 
-- (NSString *)formatNotification {
+- (NSString *)formatNotification:(WFCCMessage *)message {
     if ([[WFCCNetworkService sharedInstance].userId isEqualToString:self.creator]) {
         return [NSString stringWithFormat:@"你创建了群\"%@\"", self.groupName];
     } else {

+ 3 - 3
wfclient/WFChatClient/Messages/WFCCDismissGroupNotificationContent.m

@@ -59,11 +59,11 @@
     [[WFCCIMService sharedWFCIMService] registerMessageContent:self];
 }
 
-- (NSString *)digest {
-    return [self formatNotification];
+- (NSString *)digest:(WFCCMessage *)message {
+    return [self formatNotification:message];
 }
 
-- (NSString *)formatNotification {
+- (NSString *)formatNotification:(WFCCMessage *)message {
     NSString *formatMsg;
     if ([[WFCCNetworkService sharedInstance].userId isEqualToString:self.operateUser]) {
         formatMsg = @"你解散了群聊";

+ 1 - 1
wfclient/WFChatClient/Messages/WFCCFileMessageContent.m

@@ -58,7 +58,7 @@
     [[WFCCIMService sharedWFCIMService] registerMessageContent:self];
 }
 
-- (NSString *)digest {
+- (NSString *)digest:(WFCCMessage *)message {
     return [NSString stringWithFormat:@"[文件]:%@", self.name];
 }
 @end

+ 1 - 1
wfclient/WFChatClient/Messages/WFCCImageMessageContent.m

@@ -73,7 +73,7 @@
     [[WFCCIMService sharedWFCIMService] registerMessageContent:self];
 }
 
-- (NSString *)digest {
+- (NSString *)digest:(WFCCMessage *)message {
     return @"[图片]";
 }
 @end

+ 3 - 3
wfclient/WFChatClient/Messages/WFCCKickoffGroupMemberNotificaionContent.m

@@ -62,11 +62,11 @@
     [[WFCCIMService sharedWFCIMService] registerMessageContent:self];
 }
 
-- (NSString *)digest {
-    return [self formatNotification];
+- (NSString *)digest:(WFCCMessage *)message {
+    return [self formatNotification:message];
 }
 
-- (NSString *)formatNotification {
+- (NSString *)formatNotification:(WFCCMessage *)message {
     NSString *formatMsg;
     if ([[WFCCNetworkService sharedInstance].userId isEqualToString:self.operateUser]) {
         formatMsg = @"你把";

+ 1 - 1
wfclient/WFChatClient/Messages/WFCCLocationMessageContent.m

@@ -64,7 +64,7 @@
     [[WFCCIMService sharedWFCIMService] registerMessageContent:self];
 }
 
-- (NSString *)digest {
+- (NSString *)digest:(WFCCMessage *)message {
   return @"[位置]";
 }
 @end

+ 2 - 0
wfclient/WFChatClient/Messages/WFCCMessage.h

@@ -92,4 +92,6 @@ typedef NS_ENUM(NSInteger, WFCCMessageStatus) {
  */
 @property (nonatomic, assign)long long serverTime;
 
+- (NSString *)digest;
+
 @end

+ 3 - 1
wfclient/WFChatClient/Messages/WFCCMessage.m

@@ -11,5 +11,7 @@
 
 
 @implementation WFCCMessage
-
+- (NSString *)digest {
+    return [self.content digest:self];
+}
 @end

+ 2 - 1
wfclient/WFChatClient/Messages/WFCCMessageContent.h

@@ -114,6 +114,7 @@ typedef NS_ENUM(NSInteger, WFCCPersistFlag) {
 
 @end
 
+@class WFCCMessage;
 /**
  消息协议,所有消息(包括自定义消息均需要实现此协议)
  */
@@ -152,7 +153,7 @@ typedef NS_ENUM(NSInteger, WFCCPersistFlag) {
 
  @return 消息的简短信息,主要用于通知提示和会话列表等需要简略信息的地方。
  */
-- (NSString *)digest;
+- (NSString *)digest:(WFCCMessage *)message;
 
 @end
 

+ 1 - 1
wfclient/WFChatClient/Messages/WFCCMessageContent.m

@@ -31,7 +31,7 @@
 + (int)getContentFlags {
     return 0;
 }
-- (NSString *)digest {
+- (NSString *)digest:(WFCCMessage *)message {
   return @"Unimplement digest function";
 }
 @end

+ 3 - 3
wfclient/WFChatClient/Messages/WFCCModifyGroupAliasNotificationContent.m

@@ -62,11 +62,11 @@
     [[WFCCIMService sharedWFCIMService] registerMessageContent:self];
 }
 
-- (NSString *)digest {
-    return [self formatNotification];
+- (NSString *)digest:(WFCCMessage *)message {
+    return [self formatNotification:message];
 }
 
-- (NSString *)formatNotification {
+- (NSString *)formatNotification:(WFCCMessage *)message {
     NSString *formatMsg;
     if ([[WFCCNetworkService sharedInstance].userId isEqualToString:self.operateUser]) {
         formatMsg = [NSString stringWithFormat:@"你修改群名片为:%@", self.alias];

+ 3 - 2
wfclient/WFChatClient/Messages/WFCCNotificationMessageContent.h

@@ -9,6 +9,7 @@
 #import "WFCCMessageContent.h"
 
 
+@class WFCCMessage;
 /**
  通知消息的协议
  */
@@ -19,12 +20,12 @@
 
  @return 提示内容
  */
-- (NSString *)formatNotification;
+- (NSString *)formatNotification:(WFCCMessage *)message;
 @end
 
 /**
  通知消息
  */
-@interface WFCCNotificationMessageContent : WFCCMessageContent <WFCCNotificationMessageContent>
+@interface WFCCNotificationMessageContent : WFCCMessageContent <    WFCCNotificationMessageContent>
 
 @end

+ 1 - 1
wfclient/WFChatClient/Messages/WFCCNotificationMessageContent.m

@@ -11,7 +11,7 @@
 
 @implementation WFCCNotificationMessageContent
 
-- (NSString *)formatNotification {
+- (NSString *)formatNotification:(WFCCMessage *)message {
     return nil;
 }
 

+ 3 - 3
wfclient/WFChatClient/Messages/WFCCQuitGroupNotificationContent.m

@@ -57,11 +57,11 @@
     [[WFCCIMService sharedWFCIMService] registerMessageContent:self];
 }
 
-- (NSString *)digest {
-    return [self formatNotification];
+- (NSString *)digest:(WFCCMessage *)message {
+    return [self formatNotification:message];
 }
 
-- (NSString *)formatNotification {
+- (NSString *)formatNotification:(WFCCMessage *)message {
     NSString *formatMsg;
     if ([[WFCCNetworkService sharedInstance].userId isEqualToString:self.quitMember]) {
         formatMsg = @"你退出了群聊";

+ 6 - 3
wfclient/WFChatClient/Messages/WFCCRecallMessageContent.m

@@ -41,15 +41,18 @@
     [[WFCCIMService sharedWFCIMService] registerMessageContent:self];
 }
 
-- (NSString *)formatNotification {
-    return self.digest;
+- (NSString *)formatNotification:(WFCCMessage *)message {
+    return [self digest:message];
 }
 
-- (NSString *)digest {
+- (NSString *)digest:(WFCCMessage *)message {
     if ([self.operatorId isEqualToString:[WFCCNetworkService sharedInstance].userId]) {
         return @"你撤回了一条消息";
     } else {
         WFCCUserInfo *userInfo = [[WFCCIMService sharedWFCIMService] getUserInfo:self.operatorId refresh:NO];
+        if (userInfo.friendAlias.length) {
+            return [NSString stringWithFormat:@"%@撤回了一条消息", userInfo.friendAlias];
+        }
         if (userInfo.displayName != nil) {
             return [NSString stringWithFormat:@"%@撤回了一条消息", userInfo.displayName];
         }

+ 1 - 1
wfclient/WFChatClient/Messages/WFCCSoundMessageContent.m

@@ -88,7 +88,7 @@
     [[WFCCIMService sharedWFCIMService] registerMessageContent:self];
 }
 
-- (NSString *)digest {
+- (NSString *)digest:(WFCCMessage *)message {
     return @"[声音]";
 }
 @end

+ 1 - 1
wfclient/WFChatClient/Messages/WFCCStickerMessageContent.m

@@ -71,7 +71,7 @@
     [[WFCCIMService sharedWFCIMService] registerMessageContent:self];
 }
 
-- (NSString *)digest {
+- (NSString *)digest:(WFCCMessage *)message {
     return @"[动态表情]";
 }
 @end

+ 1 - 1
wfclient/WFChatClient/Messages/WFCCTextMessageContent.m

@@ -46,7 +46,7 @@
     [[WFCCIMService sharedWFCIMService] registerMessageContent:self];
 }
 
-- (NSString *)digest {
+- (NSString *)digest:(WFCCMessage *)message {
   return self.text;
 }
 @end

+ 2 - 2
wfclient/WFChatClient/Messages/WFCCTipNotificationMessageContent.m

@@ -38,11 +38,11 @@
     [[WFCCIMService sharedWFCIMService] registerMessageContent:self];
 }
 
-- (NSString *)formatNotification {
+- (NSString *)formatNotification:(WFCCMessage *)message {
     return self.tip;
 }
 
-- (NSString *)digest {
+- (NSString *)digest:(WFCCMessage *)message {
     return self.tip;
 }
 @end

+ 3 - 3
wfclient/WFChatClient/Messages/WFCCTransferGroupOwnerNotificationContent.m

@@ -62,11 +62,11 @@
     [[WFCCIMService sharedWFCIMService] registerMessageContent:self];
 }
 
-- (NSString *)digest {
-    return [self formatNotification];
+- (NSString *)digest:(WFCCMessage *)message {
+    return [self formatNotification:message];
 }
 
-- (NSString *)formatNotification {
+- (NSString *)formatNotification:(WFCCMessage *)message {
     NSString *formatMsg;
     if ([[WFCCNetworkService sharedInstance].userId isEqualToString:self.operateUser]) {
         WFCCUserInfo *userInfo = [[WFCCIMService sharedWFCIMService] getUserInfo:self.owner inGroup:self.groupId refresh:NO];

+ 1 - 1
wfclient/WFChatClient/Messages/WFCCTypingMessageContent.m

@@ -42,7 +42,7 @@
     [[WFCCIMService sharedWFCIMService] registerMessageContent:self];
 }
 
-- (NSString *)digest {
+- (NSString *)digest:(WFCCMessage *)message {
   return nil;
 }
 @end

+ 1 - 1
wfclient/WFChatClient/Messages/WFCCUnknownMessageContent.m

@@ -30,7 +30,7 @@
 
 
 
-- (NSString *)digest {
+- (NSString *)digest:(WFCCMessage *)message {
   return [NSString stringWithFormat:@"未知类型消息(%zd)", self.orignalType];
 }
 @end

+ 1 - 1
wfclient/WFChatClient/Messages/WFCCVideoMessageContent.m

@@ -56,7 +56,7 @@
     [[WFCCIMService sharedWFCIMService] registerMessageContent:self];
 }
 
-- (NSString *)digest {
+- (NSString *)digest:(WFCCMessage *)message {
     return @"[视频]";
 }
 @end

+ 6 - 6
wfuikit/WFChatUIKit/ConversationList/Cell/WFCUConversationTableViewCell.m

@@ -63,7 +63,7 @@
     if (searchInfo.marchedCount > 1) {
         self.digestView.text = [NSString stringWithFormat:@"%d条记录", searchInfo.marchedCount];
     } else {
-        NSString *strContent = searchInfo.marchedMessage.content.digest;
+        NSString *strContent = searchInfo.marchedMessage.digest;
         NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] initWithString:strContent];
         NSRange range = [strContent rangeOfString:searchInfo.keyword options:NSCaseInsensitiveSearch];
         [attrStr addAttribute:NSForegroundColorAttributeName value:[UIColor greenColor] range:range];
@@ -182,16 +182,16 @@
         }
         WFCCUserInfo *sender = [[WFCCIMService sharedWFCIMService] getUserInfo:_info.lastMessage.fromUser inGroup:groupId refresh:NO];
         if (sender.friendAlias.length && ![_info.lastMessage.content isKindOfClass:[WFCCNotificationMessageContent class]]) {
-            self.digestView.text = [NSString stringWithFormat:@"%@:%@", sender.friendAlias, _info.lastMessage.content.digest];
+            self.digestView.text = [NSString stringWithFormat:@"%@:%@", sender.friendAlias, _info.lastMessage.digest];
         } else if (sender.groupAlias.length && ![_info.lastMessage.content isKindOfClass:[WFCCNotificationMessageContent class]]) {
-            self.digestView.text = [NSString stringWithFormat:@"%@:%@", sender.groupAlias, _info.lastMessage.content.digest];
+            self.digestView.text = [NSString stringWithFormat:@"%@:%@", sender.groupAlias, _info.lastMessage.digest];
         } else if (sender.displayName.length && ![_info.lastMessage.content isKindOfClass:[WFCCNotificationMessageContent class]]) {
-            self.digestView.text = [NSString stringWithFormat:@"%@:%@", sender.displayName, _info.lastMessage.content.digest];
+            self.digestView.text = [NSString stringWithFormat:@"%@:%@", sender.displayName, _info.lastMessage.digest];
         } else {
-            self.digestView.text = _info.lastMessage.content.digest;
+            self.digestView.text = _info.lastMessage.digest;
         }
     } else {
-        self.digestView.text = _info.lastMessage.content.digest;
+        self.digestView.text = _info.lastMessage.digest;
     }
 }
 

+ 1 - 1
wfuikit/WFChatUIKit/ConversationList/SearchCell/WFCUConversationSearchTableViewCell.m

@@ -48,7 +48,7 @@
             userInfo.userId = message.fromUser;
         }
         [self updateUserInfo:userInfo];
-    NSString *strContent = message.content.digest;
+    NSString *strContent = message.digest;
     NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] initWithString:strContent];
     NSRange range = [strContent rangeOfString:self.keyword options:NSCaseInsensitiveSearch];
     [attrStr addAttribute:NSForegroundColorAttributeName value:[UIColor greenColor] range:range];

+ 1 - 1
wfuikit/WFChatUIKit/ForwardMessage/WFCUShareMessageView.m

@@ -118,6 +118,6 @@
 
 - (void)setMessage:(WFCCMessage *)message {
     _message = message;
-    self.digestLabel.text = [message.content digest];
+    self.digestLabel.text = [message.content digest:message];
 }
 @end

+ 4 - 5
wfuikit/WFChatUIKit/MessageList/Cell/WFCUInformationCell.m

@@ -29,10 +29,9 @@
     NSString *infoText;
     if ([msgModel.message.content isKindOfClass:[WFCCNotificationMessageContent class]]) {
         WFCCNotificationMessageContent *content = (WFCCNotificationMessageContent *)msgModel.message.content;
-        infoText = [content formatNotification];
+        infoText = [content formatNotification:msgModel.message];
     } else {
-        WFCCUnknownMessageContent *unknownContent = (WFCCUnknownMessageContent *)msgModel.message.content;
-        infoText = [unknownContent digest];
+        infoText = [msgModel.message digest];
     }
     CGSize size = [WFCUUtilities getTextDrawingSize:infoText font:[UIFont systemFontOfSize:14] constrainedSize:CGSizeMake(width - TEXT_LABEL_LEFT_PADDING - TEXT_LABEL_RIGHT_PADDING - TEXT_LEFT_PADDING - TEXT_RIGHT_PADDING, 8000)];
     size.height += TEXT_LABEL_TOP_PADDING + TEXT_LABEL_BUTTOM_PADDING + TEXT_TOP_PADDING + TEXT_BUTTOM_PADDING;
@@ -48,10 +47,10 @@
     NSString *infoText;
     if ([model.message.content isKindOfClass:[WFCCNotificationMessageContent class]]) {
         WFCCNotificationMessageContent *content = (WFCCNotificationMessageContent *)model.message.content;
-        infoText = [content formatNotification];
+        infoText = [content formatNotification:model.message];
     } else {
         WFCCUnknownMessageContent *unknownContent = (WFCCUnknownMessageContent *)model.message.content;
-        infoText = [unknownContent digest];
+        infoText = [model.message digest];
     }
     
     CGFloat width = self.contentView.bounds.size.width;