清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
id<IEMMessageBody> messageBody = [bodies firstObject]; chatContentModel.messageBody = messageBody; chatContentModel.contentType = type; //普通文本消息和依靠普通文本消息扩展出来的消息类型 GJGCMessageExtendModel *extendModel = [[GJGCMessageExtendModel alloc]initWithDictionary:msgModel.ext]; switch ([messageBody messageBodyType]) { case eMessageBodyType_Image: { chatContentModel.contentType = GJGCChatFriendContentTypeImage; } break; case eMessageBodyType_Text: { NSLog(@"解析扩展内容:%@",[extendModel contentDictionary]); //普通文本消息 if (!extendModel.isExtendMessageContent) { chatContentModel.contentType = GJGCChatFriendContentTypeText; EMTextMessageBody *textMessageBody = (EMTextMessageBody *)messageBody; if (!GJCFNSCacheGetValue(textMessageBody.text)) { [GJGCChatFriendCellStyle formateSimpleTextMessage:textMessageBody.text]; } chatContentModel.originTextMessage = textMessageBody.text; } //扩展消息类型 if (extendModel.isExtendMessageContent) { chatContentModel.contentType = extendModel.chatFriendContentType; //是否支持显示的扩展消息 if (extendModel.isSupportDisplay) { //进一步解析消息内容 switch (extendModel.chatFriendContentType) { case GJGCChatFriendContentTypeGif: { GJGCMessageExtendContentGIFModel *gifContent = (GJGCMessageExtendContentGIFModel *)extendModel.messageContent; chatContentModel.gifLocalId = gifContent.emojiCode; } break; case GJGCChatFriendContentTypeMusicShare: { GJGCMessageExtendMusicShareModel *musicContent = (GJGCMessageExtendMusicShareModel *)extendModel.messageContent; chatContentModel.musicSongId = musicContent.songId; chatContentModel.musicSongName = musicContent.title; chatContentModel.musicSongUrl = musicContent.songUrl; chatContentModel.musicSongAuthor = musicContent.author; } break; case GJGCChatFriendContentTypeWebPage: { GJGCMessageExtendContentWebPageModel *webPageContent = (GJGCMessageExtendContentWebPageModel *)extendModel.messageContent; chatContentModel.webPageThumbImageData = [webPageContent.thumbImageBase64 base64DecodedData]; chatContentModel.webPageTitle = webPageContent.title; chatContentModel.webPageSumary = webPageContent.sumary; chatContentModel.webPageUrl = webPageContent.url; } break; default: break; } } //如果不支持,需要将消息显示成文本消息 if (![extendModel isSupportDisplay]) { chatContentModel.contentType = GJGCChatFriendContentTypeText; EMTextMessageBody *textMessageBody = (EMTextMessageBody *)messageBody; if (!GJCFNSCacheGetValue(textMessageBody.text)) { [GJGCChatFriendCellStyle formateSimpleTextMessage:textMessageBody.text]; } chatContentModel.originTextMessage = textMessageBody.text; } } } break; case eMessageBodyType_Command: { } break; case eMessageBodyType_File: { } break; case eMessageBodyType_Location: { } break; case eMessageBodyType_Video: { } break; case eMessageBodyType_Voice: { chatContentModel.contentType = GJGCChatFriendContentTypeAudio; EMVoiceMessageBody *voiceMessageBody = (EMVoiceMessageBody *)messageBody; chatContentModel.audioModel.localStorePath = voiceMessageBody.localPath; chatContentModel.audioModel.duration = voiceMessageBody.duration; chatContentModel.audioDuration = [GJGCChatFriendCellStyle formateAudioDuration:GJCFStringFromInt(chatContentModel.audioModel.duration)]; } break; default: break; } type = chatContentModel.contentType; //解析用户信息 chatContentModel.headUrl = extendModel.userInfo.headThumb; if (chatContentModel.talkType == GJGCChatFriendTalkTypeGroup) { chatContentModel.senderName = [GJGCChatFriendCellStyle formateGroupChatSenderName:extendModel.userInfo.nickName]; }