From 1881936429eb0dd49b8e1d8804264905cda1cc34 Mon Sep 17 00:00:00 2001 From: Kaniu Tayou <1056879522@qq.com> Date: Tue, 18 Dec 2018 11:17:57 +0800 Subject: [PATCH] some new methods --- Interact/Client.cs | 2 +- StormChatWPF/Chat.cs | 35 +++++++++++++++++++++++----------- StormChatWPF/LogWindow.xaml.cs | 16 +++++++++------- 3 files changed, 34 insertions(+), 19 deletions(-) diff --git a/Interact/Client.cs b/Interact/Client.cs index 79a10f0..e341eb7 100644 --- a/Interact/Client.cs +++ b/Interact/Client.cs @@ -38,7 +38,7 @@ namespace Interact //登录结果处理事件 public static event LoginDoneHandler OnLoginDone; //获取用户列表结果处理事件 - private static event GetUserListDoneHandler OnGetUserListDone; + public static event GetUserListDoneHandler OnGetUserListDone; //当前连接状态 public static ClientStatus Status diff --git a/StormChatWPF/Chat.cs b/StormChatWPF/Chat.cs index 6377be9..b957f97 100644 --- a/StormChatWPF/Chat.cs +++ b/StormChatWPF/Chat.cs @@ -12,8 +12,16 @@ namespace StormChatWPF class Chat { public static List userlist = new List();//联系人集合 - + public static Chat chat = new Chat(); + private Chat() + { + StormClient.OnLoginDone += HaveLogin; + StormClient.OnGetUserListDone += GetUserList; + StormClient.OnMessage +=ReciveMessage; + } + + internal static void GetUsers(ResultHandler head, User user) { @@ -27,13 +35,6 @@ namespace StormChatWPF else return; }//获取用户列表 - internal static void GetUserPhoto(ResultHead head, Image image) - { - if (head.Error != "") - { - MessageBox.Show("无法读取用户图片"); - } - }//对用户头像进行赋值 internal void Log(string user,string password) { if (StormClient.Initialize()) @@ -55,7 +56,7 @@ namespace StormChatWPF User.Me = user; MainWindow userWindow = new MainWindow(); userWindow.Show(); - LogWindow.a.Close(); + LogWindow.Instence.Close(); } else { @@ -63,7 +64,19 @@ namespace StormChatWPF } }); }//登录完成 - - + internal static void ReciveMessage(Message message) + { + LogWindow.Instence.ShowMessage(message); + }//接受到新消息的时候 + internal static void SendMessage(string text,User target) + { + Message msg = new Message(text); + Action f = delegate(BaseHead head) + { + + }; + StormClient.QueueSendMessage(msg, target, f); + LogWindow.Instence.ShowUserMessage(); + } } } diff --git a/StormChatWPF/LogWindow.xaml.cs b/StormChatWPF/LogWindow.xaml.cs index 2775cfa..924a07b 100644 --- a/StormChatWPF/LogWindow.xaml.cs +++ b/StormChatWPF/LogWindow.xaml.cs @@ -21,20 +21,22 @@ namespace StormChatWPF /// public partial class LogWindow : Window { - public static LogWindow a; + public static LogWindow Instence; public LogWindow() { InitializeComponent(); - StormClient.OnLoginDone += Chat.HaveLogin; - StormClient.OnGetUserListDone += Chat.GetUserList; - StormClient.OnGetUserPhotoDone += Chat.GetUserPhoto; - a = this; + Instence = this; } - Chat chat = new Chat(); private void Login_button_Click(object sender, RoutedEventArgs e) { - chat.Log(AccountBox.Text,passwordBox.Password); + Chat.chat.Log(AccountBox.Text,passwordBox.Password); } + internal void ShowMessage(Message message) + { + }//将收到的消息展现于UI界面 + internal void ShowUserMessage() + { + } } }