Ejemplo n.º 1
0
        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
        }
Ejemplo n.º 2
0
        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
        }
Ejemplo n.º 3
0
        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
        }