Beispiel #1
0
        /// <summary>
        /// 显示收到的信息
        /// </summary>
        /// <param name="msg"></param>
        private void ShowReceiveMsg(ChatMsgData msg)
        {
            ChatMsg chatmsg = new ChatMsg();

            Contact_all.ForEach(p =>
            {
                if (p is ChatUser)
                {
                    if ((p as ChatUser).UserName == msg.From)
                    {
                        chatmsg.Image = (p as ChatUser).Icon;
                        return;
                    }
                }
            });

            if (msg.Type == 9)
            {
                Paragraph imgper = new Paragraph(new Floater(new BlockUIContainer(msg.MsgImg)));
                chatmsg.Message.Blocks.Add(imgper);
            }
            else
            {
                StrToFlDoc(msg.Msg, chatmsg.Message);
            }

            chatmsg.FlowDir = FlowDirection.LeftToRight;
            chatmsg.TbColor = System.Windows.Media.Brushes.White;
            ChatList.Add(chatmsg);
        }
Beispiel #2
0
        /// <summary>
        /// 显示发出的消息
        /// </summary>
        /// <param name="msg"></param>
        private void ShowSendMsg(ChatMsgData msg)
        {
            try
            {
                ChatMsg chatmsg = new ChatMsg();
                chatmsg.Image = _me.Icon;
                //此处的Paragraph必须是新New的
                if (msg.Type == 9)
                {
                    Paragraph imgper = new Paragraph();
                    imgper.Inlines.Add(new InlineUIContainer(msg.MsgImg));
                    chatmsg.Message.Blocks.Add(imgper);
                }
                else
                {
                    StrToFlDoc(msg.Msg, chatmsg.Message);
                }

                chatmsg.FlowDir = FlowDirection.RightToLeft;
                chatmsg.TbColor = (System.Windows.Media.Brush) new BrushConverter().ConvertFromString("#FF98E165");
                ChatList.Add(chatmsg);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
        public override void OnMessageReceived(ClientStructure client, IClientMessageBase messageData)
        {
            ChatMsgData chatMsgData = messageData.Data as ChatMsgData;

            if (chatMsgData != null)
            {
                connector.SendToDiscord("[" + chatMsgData.From + "] " + chatMsgData.Text);
            }
        }
        public static ChatMsgData SaveMsgData(ChatRespData userData, string input, bool unread = false)
        {
            var msgDetail = new ChatMsgData
            {
                memberid = userData.memberid,
                username = userData.username,
                gender   = userData.gender,
                text     = input,
            };

            //接收者在填ture
            if (unread)
            {
                msgDetail.unread = true;
            }

            return(msgDetail);
        }
Beispiel #5
0
 void socketClient_ReceivedMsg(string msg)
 {
     Application.Current.Dispatcher.BeginInvoke(new Action(delegate
     {
         ChatUser us = _contact_latest[3] as ChatUser;
         //ChatUser us = this._friendUser;
         SocketMsg smsg = new SocketMsg();
         smsg.setAllParametersJsonStr(msg);
         Hashtable param  = smsg.getAllParameters();
         ChatMsgData msg1 = new ChatMsgData();
         msg1.From        = us.UserName;
         msg1.Msg         = param["content"].ToString();
         msg1.Readed      = false;
         msg1.Time        = DateTime.Now;
         msg1.To          = _me.UserName;
         msg1.Type        = 1;
         us.UnReadCount   = us.UnReadCount + 1;
         us.ReceivedMsg(msg1);
     }));
 }
        public static Dictionary <string, List <ChatMsgData> > SaveMsgData(string id, ChatRespData userData, string input, bool unread = false)
        {
            var msgDetail = new ChatMsgData
            {
                memberid = userData.memberid,
                username = userData.username,
                gender   = userData.gender,
                text     = input,
            };

            //接收者在填ture
            if (unread)
            {
                msgDetail.unread = true;
            }
            var list = new List <ChatMsgData>();

            list.Add(msgDetail);
            var dic = new Dictionary <string, List <ChatMsgData> >();

            dic.Add(id, list);
            return(dic);
        }
Beispiel #7
0
 /// <summary>
 /// 收到新消息
 /// </summary>
 /// <param name="msg"></param>
 void _friendUser_MsgRecved(ChatMsgData msg)
 {
     ShowReceiveMsg(msg);
 }
Beispiel #8
0
 /// <summary>
 /// 发送消息完成
 /// </summary>
 /// <param name="msg"></param>
 void _friendUser_MsgSent(ChatMsgData msg)
 {
     ShowSendMsg(msg);
 }