环信头像和昵称显示问题 (添加消息扩展)--本人已实现效果

环信技术客服 提供的链接 头像和昵称的处理,
http://www.jianshu.com/p/1a9eb12f8230


在这个类中 "EaseMessageViewController.h"

#pragma mark - public
// 搜这个这个 做响应的 修改
- (NSArray *)formatMessages:(NSArray *)messages
{
    NSMutableArray *formattedArray = [[NSMutableArray alloc] init];
    if ([messages count] == 0) {
        return formattedArray;
    }
    
    for (EMMessage *message in messages) {
        //Calculate time interval
        CGFloat interval = (self.messageTimeIntervalTag - message.timestamp) / 1000;
        if (self.messageTimeIntervalTag < 0 || interval > 60 || interval < -60) {
            NSDate *messageDate = [NSDate dateWithTimeIntervalInMilliSecondSince1970:(NSTimeInterval)message.timestamp];
            NSString *timeStr = @"";
            
            if (_dataSource && [_dataSource respondsToSelector:@selector(messageViewController:stringForDate:)]) {
                timeStr = [_dataSource messageViewController:self stringForDate:messageDate];
            }
            else{
                timeStr = [messageDate formattedTime];
            }
            [formattedArray addObject:timeStr];
            self.messageTimeIntervalTag = message.timestamp;
        }
        
        //Construct message model
        id<IMessageModel> model = nil;
        if (_dataSource && [_dataSource respondsToSelector:@selector(messageViewController:modelForMessage:)]) {
            model = [_dataSource messageViewController:self modelForMessage:message];
            
        }
        else{

、、、、、、、、、、、、、、添加以下代码    做响应的处理-------------

            model = [[EaseMessageModel alloc] initWithMessage:message];
            
            NSString *loginUserName = [[EMClient sharedClient] currentUsername];
            if ([model.message.from isEqualToString:loginUserName]) {
               // model.avatarImage = [UIImage imageNamed:@"EaseUIResource.bundle/user"];
                 model.avatarURLPath = [NSUSERDEFAULTS valueForKey:kUserIcon];
                model.failImageName = @"imageDownloadFail";
                model.nickname = [NSString stringWithFormat:@"%@",[NSUSERDEFAULTS valueForKey:kUserName]] ;
            }else{
               // model.avatarImage =  [UIImage imageNamed:@"icon_alipay"];
                NSString *avatarURLPathStr = [NSUSERDEFAULTS valueForKey:KDriverHeader];
                
                model.failImageName = @"imageDownloadFail";
               
                
                if (avatarURLPathStr == nil ||avatarURLPathStr == NULL) {
                    model.avatarImage = [UIImage imageNamed:@"EaseUIResource.bundle/user"];
                }else{
                    model.avatarURLPath = [NSUSERDEFAULTS valueForKey:KDriverHeader];
                }
                NSString *nicknameStr = [NSUSERDEFAULTS valueForKey:kDriverName];
                NSLog(@"%@",nicknameStr);
                if (nicknameStr == nil || nicknameStr == NULL) {
                    
                }else{
                   model.nickname =[NSString stringWithFormat:@"%@",[NSUSERDEFAULTS valueForKey:kDriverName]];
                }
               
            }

、、、、、、、、、、、、、、、、、、到此为止 。。。。。。。。。。。。。。。

         }

        if (model) {
            [formattedArray addObject:model];
        }
    }
    
    return formattedArray;
}

//  在这个 方法中。。。。

- (void)_sendMessage:(EMMessage *)message

{
    //添加消息扩展(传送头像 和 昵称)
    NSMutableDictionary *dictExt = [NSMutableDictionary dictionaryWithDictionary:message.ext];
    [dictExt setValue:[NSUSERDEFAULTS objectForKey:kUserName] forKey:@"nick"];
    [dictExt setValue:[NSUSERDEFAULTS objectForKey:kUserIcon] forKey:@"avatar"];
    message.ext = dictExt;

   、、、、、、、、加上以上代码。。。。


    if (self.conversation.type == EMConversationTypeGroupChat){
        message.chatType = EMChatTypeGroupChat;
    }
    else if (self.conversation.type == EMConversationTypeChatRoom){
        message.chatType = EMChatTypeChatRoom;
    }
    
    [self addMessageToDataSource:message
                        progress:nil];
    
    __weak typeof(self) weakself = self;
    [[EMClient sharedClient].chatManager sendMessage:message progress:^(int progress) {
        if (weakself.dataSource && [weakself.dataSource respondsToSelector:@selector(messageViewController:updateProgress:messageModel:messageBody:)]) {
            [weakself.dataSource messageViewController:weakself updateProgress:progress messageModel:nil messageBody:message.body];
        }
    } completion:^(EMMessage *aMessage, EMError *aError) {
        if (!aError) {
            [weakself _refreshAfterSentMessage:aMessage];
        }
        else {
            [weakself.tableView reloadData];
        }
    }];
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值