环信技术客服 提供的链接 头像和昵称的处理, 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;
、、、、、、、、加上以上代码。。。。
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];
}
}];
}