环信头像和昵称显示问题 (添加消息扩展)--本人已实现效果
2017-03-31 18:15
471 查看
环信技术客服 提供的链接 头像和昵称的处理, 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];
}
}];
}
相关文章推荐
- Android 集成环信昵称和头像显示问题
- 关于环信显示头像昵称的一种实现方式
- 环信:发送头像和昵称(从消息扩展中获取)
- WinForm实现类似QQ停靠,显示隐藏过程添加特效效果
- JS实现鼠标经过用户头像显示资料卡的效果,可点击
- iOS开发小记:关于环信Demo3.0的使用总结以及昵称和头像问题的研究与解决
- 环信SDK 头像、昵称、表情自定义和群聊设置的实现 二(附源码)
- 关于环信在自定义(扩展)文本消息样式的问题
- WinForm实现类似QQ停靠,显示隐藏过程添加特效效果
- devexpress显示缓冲滚动条与实现类似QQ消息推送效果
- 基于JS如何实现类似QQ好友头像hover时显示资料卡的效果(推荐)
- JS实现鼠标经过用户头像显示资料卡的效果,可点击
- 环信SDK 头像、昵称、表情自定义和群聊设置的实现 二(附源码)
- JS实现鼠标经过好友列表中的好友头像时显示资料卡的效果
- 请大侠指教uiviewcontroller中添加了scrollview来实现多屏显示的的问题
- WinForm实现类似QQ停靠,显示隐藏过程添加特效效果
- weiphp解决粉丝昵称、头像不显示等问题。
- 137在搜索框中实现下拉列表效果(扩展知识:表格视图数据源为空数据时显示提示信息)
- Bmob与环信的联合使用--头像昵称的显示
- Android GridView之添加分隔线,动态设置高度,实现高度自适应,并解决第一个item不显示的问题