下面是编程之家 jb51.cc 通过网络收集整理的代码片段。
编程之家小编现在分享给大家,也给大家做个参考。
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]; }
以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。