public static void RightScrollPicAndTextMix(ChromiumWebBrowser cef, ChatBase msg, List <string> imageId) { #region 右边展示 StringBuilder sbRight = new StringBuilder(); sbRight.AppendLine("function myFunction()"); //显示内容解析 List <MixMessageObjDto> receive = JsonConvert.DeserializeObject <List <MixMessageObjDto> >(msg.sourceContent); sbRight.AppendLine("{ var first=document.createElement('div');"); sbRight.AppendLine("first.className='rightd';"); sbRight.AppendLine("first.id='" + msg.messageId + "';"); //时间显示层 sbRight.AppendLine("var timeDiv=document.createElement('div');"); sbRight.AppendLine("timeDiv.className='rightTimeStyle';"); sbRight.AppendLine("timeDiv.innerHTML='" + PictureAndTextMixMethod.timeComparison(msg.sendTime) + "';"); sbRight.AppendLine("first.appendChild(timeDiv);"); //头像显示层 sbRight.AppendLine("var second=document.createElement('div');"); sbRight.AppendLine("second.className='rightimg';"); sbRight.AppendLine("var img = document.createElement('img');"); sbRight.AppendLine("img.src='" + PictureAndTextMixMethod.HeadImgUrl() + "';"); sbRight.AppendLine("img.className='divcss5';"); sbRight.AppendLine("second.appendChild(img);"); sbRight.AppendLine("first.appendChild(second);"); int i = 0; //图文混合展示层 string divid = "copy" + Guid.NewGuid().ToString().Replace("-", ""); sbRight.AppendLine(PublicTalkMothed.divRightCopyContent(divid, msg.messageId)); sbRight.AppendLine("node.id='" + divid + "';"); //sbRight.AppendLine("var node = document.createElement('div')"); sbRight.AppendLine("node.className='speech right';"); //图文混合内部构造 StringBuilder sbInside = new StringBuilder(); foreach (var list in receive) { switch (list.type) { //文本 case "1001": sbInside.Append(PublicTalkMothed.talkContentReplace(list.content?.ToString())); break; //图片 case "1002": PictureAndTextMixContentDto pictureAndTextMix = JsonConvert.DeserializeObject <PictureAndTextMixContentDto>(list.content?.ToString()); sbInside.Append("<img id=\"" + imageId[i] + "\" src=\"" + pictureAndTextMix.picUrl + "\" class=\"imgRightProportion\" ondblclick=\"myFunctions(event)\"/>"); i++; break; //换行 case "0000": sbInside.Append("<br/>"); break; } } sbRight.AppendLine("node.innerHTML ='" + sbInside.ToString() + "';"); sbRight.AppendLine("first.appendChild(node);"); //发送失败判断 if (msg.sendsucessorfail == 0) { string guid = Guid.NewGuid().ToString().Replace("-", ""); sbRight.AppendLine(PictureAndTextMixMethod.OnceSendHistoryPicDiv("sendMixPic", msg.messageId, "", guid, "sending" + guid, "", "")); } //获取body层 sbRight.AppendLine("var listbody = document.getElementById('bodydiv');"); sbRight.AppendLine("listbody.insertBefore(first,listbody.childNodes[0]);}"); //sbRight.AppendLine("document.body.appendChild(first);"); sbRight.AppendLine("myFunction();"); cef.ExecuteScriptAsync(sbRight.ToString()); #endregion }
public static void RightSendPicAndTextMix(ChromiumWebBrowser cef, string messageId, List <MixMessageObjDto> obj, MessageStateArg arg, MixMsg mixMsgClass) { #region 图文混合Right StringBuilder sbRight = new StringBuilder(); sbRight.AppendLine("function myFunction()"); sbRight.AppendLine("{ var first=document.createElement('div');"); sbRight.AppendLine("first.className='rightd';"); sbRight.AppendLine("first.id='" + messageId + "';"); //时间显示层 sbRight.AppendLine("var timeDiv=document.createElement('div');"); sbRight.AppendLine("timeDiv.className='rightTimeStyle';"); sbRight.AppendLine("timeDiv.innerHTML='" + DateTime.Now.ToString("HH:mm:ss") + "';"); sbRight.AppendLine("first.appendChild(timeDiv);"); //头像显示层 sbRight.AppendLine("var second=document.createElement('div');"); sbRight.AppendLine("second.className='rightimg';"); sbRight.AppendLine("var img = document.createElement('img');"); sbRight.AppendLine("img.src='" + PictureAndTextMixMethod.HeadImgUrl() + "';"); sbRight.AppendLine("img.className='divcss5';"); sbRight.AppendLine("second.appendChild(img);"); sbRight.AppendLine("first.appendChild(second);"); //图文混合展示层 string divid = "copy" + Guid.NewGuid().ToString().Replace("-", ""); sbRight.AppendLine(PublicTalkMothed.divRightCopyContent(divid, messageId)); sbRight.AppendLine("node.id='" + divid + "';"); //sbRight.AppendLine("var node = document.createElement('div')"); sbRight.AppendLine("node.className='speech right';"); //图文混合内部构造 StringBuilder sbInside = new StringBuilder(); int i = 0; foreach (var list in obj) { //var type = list as MixMessageBase; switch (list.type) { //文本 case "1001": //var text = list as MixMessageDto; sbInside.Append(PublicTalkMothed.talkContentReplace(list.content?.ToString())); break; //图片 case "1002": //var images = list as MixMessageDto; var contentImg = JsonConvert.DeserializeObject <PictureDto>(list.content.ToString()); sbInside.Append("<img id=\"" + mixMsgClass.TagDto[i].PreGuid + "\" src=\"" + contentImg.picUrl + "\" class=\"imgRightProportion\" onload=\"scrollToend(event)\" ondblclick=\"myFunctions(event)\"/>"); i++; break; //换行 case "0000": sbInside.Append("<br/>"); break; } } sbRight.AppendLine("node.innerHTML ='" + sbInside.ToString() + "';"); sbRight.AppendLine("first.appendChild(node);"); //重发div //sbRight.AppendLine(OnceSendMsgDiv("sendText", arg.MessageId, sendStr, imageTipId, imageSendingId, msgStr, "")); sbRight.AppendLine(PictureAndTextMixMethod.OnceSendMixPicDiv("sendMixPic", arg.MessageId, "", arg.RepeatId, arg.SendIngId, "", "")); sbRight.AppendLine("document.body.appendChild(first);"); sbRight.AppendLine("}"); sbRight.AppendLine("myFunction();"); cef.ExecuteScriptAsync(sbRight.ToString()); #endregion }
public static void RightGroupShowPicAndTextMix(ChromiumWebBrowser cef, ChatBase msg, List <string> imageId) { #region 右边展示 StringBuilder sbRight = new StringBuilder(); sbRight.AppendLine("function myFunction()"); //显示内容解析 List <MixMessageObjDto> receive = JsonConvert.DeserializeObject <List <MixMessageObjDto> >(msg.sourceContent); sbRight.AppendLine("{ var first=document.createElement('div');"); sbRight.AppendLine("first.className='rightd';"); sbRight.AppendLine("first.id='" + msg.messageId + "';"); //时间显示层 sbRight.AppendLine("var timeDiv=document.createElement('div');"); sbRight.AppendLine("timeDiv.className='rightTimeStyle';"); sbRight.AppendLine("timeDiv.innerHTML='" + PictureAndTextMixMethod.timeComparison(msg.sendTime) + "';"); sbRight.AppendLine("first.appendChild(timeDiv);"); //头像显示层 sbRight.AppendLine("var second=document.createElement('div');"); sbRight.AppendLine("second.className='rightimg';"); sbRight.AppendLine("var img = document.createElement('img');"); sbRight.AppendLine("img.src='" + PictureAndTextMixMethod.HeadImgUrl() + "';"); sbRight.AppendLine("img.className='divcss5';"); sbRight.AppendLine("second.appendChild(img);"); sbRight.AppendLine("first.appendChild(second);"); //图文混合展示层 //sbRight.AppendLine("var node = document.createElement('div')"); string divid = "copy" + Guid.NewGuid().ToString().Replace("-", ""); sbRight.AppendLine(PublicTalkMothed.divRightCopyContent(divid, msg.messageId)); sbRight.AppendLine("node.id='" + divid + "';"); sbRight.AppendLine("node.className='speech right';"); int i = 0; //图文混合内部构造 StringBuilder sbInside = new StringBuilder(); foreach (var list in receive) { switch (list.type) { //文本 case "1001": sbInside.Append(PublicTalkMothed.talkContentReplace(list.content?.ToString())); //sbRight.AppendLine("node.innerHTML ='" + list.content.Replace("\r\n", "<br/>").Replace("\n", "<br/>") + "';"); break; //图片 case "1002": PictureAndTextMixContentDto pictureAndTextMix = JsonConvert.DeserializeObject <PictureAndTextMixContentDto>(list.content?.ToString()); sbInside.Append("<img id=\"" + imageId[i] + "\" src=\"" + pictureAndTextMix.picUrl + "\" class=\"imgRightProportion\" ondblclick=\"myFunctions(event)\"/>"); i++; break; //换行 case "0000": sbInside.Append("<br/>"); break; //@消息 case "1008": List <At_content> at = JsonConvert.DeserializeObject <List <At_content> >(list.content.ToString()); string strAt = ""; foreach (var atList in at) { if (atList.type == "1112") { foreach (var atName in atList.names) { strAt += "@" + atName; } sbInside.Append(strAt); } else { #region @全体成员 sbInside.Append("@全体成员"); #endregion } } break; } } sbRight.AppendLine("node.innerHTML ='" + sbInside.ToString() + "';"); sbRight.AppendLine("first.appendChild(node);"); //获取body层 sbRight.AppendLine("document.body.appendChild(first);}"); sbRight.AppendLine("myFunction();"); cef.ExecuteScriptAsync(sbRight.ToString()); #endregion }