Merge branch 'client-csharp' of https://github.com/mattuylee/stormchat into client-csharp
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:local="clr-namespace:StormChatWPF"
|
xmlns:local="clr-namespace:StormChatWPF"
|
||||||
StartupUri="MainWindow.xaml">
|
StartupUri="LogWindow.xaml">
|
||||||
<Application.Resources>
|
<Application.Resources>
|
||||||
|
|
||||||
</Application.Resources>
|
</Application.Resources>
|
||||||
|
|||||||
@@ -0,0 +1,69 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Interact;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Windows;
|
||||||
|
|
||||||
|
namespace StormChatWPF
|
||||||
|
{
|
||||||
|
class Chat
|
||||||
|
{
|
||||||
|
public static List<User> userlist = new List<User>();//联系人集合
|
||||||
|
|
||||||
|
|
||||||
|
internal static void GetUsers(ResultHandler head, User user)
|
||||||
|
{
|
||||||
|
|
||||||
|
}//获取联系人对象
|
||||||
|
internal static void GetUserList(ResultHead head, User[] users)
|
||||||
|
{
|
||||||
|
if (head.Error != "")
|
||||||
|
{
|
||||||
|
MessageBox.Show("无法获取联系人列表");
|
||||||
|
}
|
||||||
|
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())
|
||||||
|
{
|
||||||
|
StormClient.QueueLogin(user,password);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MessageBox.Show("连接服务器失败!");
|
||||||
|
}
|
||||||
|
}//登录
|
||||||
|
internal static void HaveLogin(ResultHead head, User user)
|
||||||
|
{
|
||||||
|
App.Current.Dispatcher.Invoke(
|
||||||
|
(Action)delegate ()
|
||||||
|
{
|
||||||
|
if (head.Error == "")
|
||||||
|
{
|
||||||
|
User.Me = user;
|
||||||
|
MainWindow userWindow = new MainWindow();
|
||||||
|
userWindow.Show();
|
||||||
|
LogWindow.a.Close();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MessageBox.Show("登录失败!");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}//登录完成
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
<Window x:Class="StormChatWPF.LogWindow"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
|
xmlns:local="clr-namespace:StormChatWPF"
|
||||||
|
mc:Ignorable="d"
|
||||||
|
Title="MainWindow" Height="450" Width="800">
|
||||||
|
<Grid>
|
||||||
|
<Image x:Name="LogImage" HorizontalAlignment="Left" Height="230" Margin="10,10,0,0" VerticalAlignment="Top" Width="774" Source="/RESOURCES/logFormBackground.jpg" Stretch="None"/>
|
||||||
|
<Button x:Name="Login_button" Content="LogIn" HorizontalAlignment="Left" Margin="240,376,0,0" VerticalAlignment="Top" Width="75" RenderTransformOrigin="0.664,1.51" Click="Login_button_Click"/>
|
||||||
|
<TextBox x:Name="AccountBox" HorizontalAlignment="Left" Height="23" Margin="240,290,0,0" TextWrapping="Wrap" Text="201701110203" VerticalAlignment="Top" Width="120" />
|
||||||
|
<PasswordBox x:Name="passwordBox" HorizontalAlignment="Left" Margin="240,332,0,0" VerticalAlignment="Top" Width="120" Password="1233211234567"/>
|
||||||
|
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
</Window>
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
using Interact;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows;
|
||||||
|
using System.Windows.Controls;
|
||||||
|
using System.Windows.Data;
|
||||||
|
using System.Windows.Documents;
|
||||||
|
using System.Windows.Input;
|
||||||
|
using System.Windows.Media;
|
||||||
|
using System.Windows.Media.Imaging;
|
||||||
|
using System.Windows.Navigation;
|
||||||
|
using System.Windows.Shapes;
|
||||||
|
|
||||||
|
namespace StormChatWPF
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// MainWindow.xaml 的交互逻辑
|
||||||
|
/// </summary>
|
||||||
|
public partial class LogWindow : Window
|
||||||
|
{
|
||||||
|
public static LogWindow a;
|
||||||
|
public LogWindow()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
StormClient.OnLoginDone += Chat.HaveLogin;
|
||||||
|
StormClient.OnGetUserListDone += Chat.GetUserList;
|
||||||
|
StormClient.OnGetUserPhotoDone += Chat.GetUserPhoto;
|
||||||
|
a = this;
|
||||||
|
}
|
||||||
|
Chat chat = new Chat();
|
||||||
|
private void Login_button_Click(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
chat.Log(AccountBox.Text,passwordBox.Password);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -5,13 +5,17 @@
|
|||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
xmlns:local="clr-namespace:StormChatWPF"
|
xmlns:local="clr-namespace:StormChatWPF"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
Title="MainWindow" Height="450" Width="800">
|
Title="UserWindow" Height="450" Width="800"
|
||||||
<Grid>
|
|
||||||
<Image x:Name="LogImage" HorizontalAlignment="Left" Height="230" Margin="10,10,0,0" VerticalAlignment="Top" Width="774" Source="/RESOURCES/logFormBackground.jpg" Stretch="None"/>
|
|
||||||
<Button x:Name="Login_button" Content="LogIn" HorizontalAlignment="Left" Margin="240,376,0,0" VerticalAlignment="Top" Width="75" RenderTransformOrigin="0.664,1.51" Click="Login_button_Click"/>
|
|
||||||
<TextBox x:Name="AccountBox" HorizontalAlignment="Left" Height="23" Margin="240,290,0,0" TextWrapping="Wrap" Text="201701110203" VerticalAlignment="Top" Width="120" />
|
|
||||||
<PasswordBox x:Name="passwordBox" HorizontalAlignment="Left" Margin="240,332,0,0" VerticalAlignment="Top" Width="120" Password="1233211234567"/>
|
|
||||||
|
|
||||||
|
>
|
||||||
|
<Grid>
|
||||||
|
<ListView x:Name="UsersList" HorizontalAlignment="Left" Height="346" VerticalAlignment="Top" Width="191" Margin="10,64,0,0" IsEnabled="False">
|
||||||
|
<ListView.View>
|
||||||
|
<GridView>
|
||||||
|
<GridViewColumn/>
|
||||||
|
</GridView>
|
||||||
|
</ListView.View>
|
||||||
|
</ListView>
|
||||||
|
|
||||||
</Grid>
|
</Grid>
|
||||||
</Window>
|
</Window>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
using Interact;
|
using System;
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
@@ -11,50 +10,30 @@ using System.Windows.Documents;
|
|||||||
using System.Windows.Input;
|
using System.Windows.Input;
|
||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
using System.Windows.Media.Imaging;
|
using System.Windows.Media.Imaging;
|
||||||
using System.Windows.Navigation;
|
|
||||||
using System.Windows.Shapes;
|
using System.Windows.Shapes;
|
||||||
|
|
||||||
namespace StormChatWPF
|
namespace StormChatWPF
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// MainWindow.xaml 的交互逻辑
|
/// UserWindow.xaml 的交互逻辑
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public partial class MainWindow : Window
|
public partial class MainWindow : Window
|
||||||
{
|
{
|
||||||
public MainWindow()
|
public MainWindow()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
StormClient.OnLoginDone += HaveLogin;
|
|
||||||
}
|
}
|
||||||
|
private void AddUserList()
|
||||||
|
{
|
||||||
|
if (Chat.userlist.Any())
|
||||||
|
{
|
||||||
|
foreach (var user in Chat.userlist)
|
||||||
|
{
|
||||||
|
UsersList.Items.Add(user);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}//向联系人列表listview中添加元素
|
||||||
|
|
||||||
private void Login_button_Click(object sender, RoutedEventArgs e)
|
|
||||||
{
|
|
||||||
if (StormClient.Initialize())
|
|
||||||
{
|
|
||||||
StormClient.QueueLogin(AccountBox.Text, passwordBox.Password, null);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
MessageBox.Show("连接服务器失败!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void HaveLogin(ResultHead head, User user)
|
|
||||||
{
|
|
||||||
App.Current.Dispatcher.Invoke((Action)delegate ()
|
|
||||||
{
|
|
||||||
if (head.Error == "")
|
|
||||||
{
|
|
||||||
User.Me = user;
|
|
||||||
UserWindow userWindow = new UserWindow();
|
|
||||||
userWindow.Show();
|
|
||||||
this.Close();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
MessageBox.Show("登录失败!");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -59,10 +59,11 @@
|
|||||||
<Generator>MSBuild:Compile</Generator>
|
<Generator>MSBuild:Compile</Generator>
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
</ApplicationDefinition>
|
</ApplicationDefinition>
|
||||||
<Compile Include="UserWindow.xaml.cs">
|
<Compile Include="Chat.cs" />
|
||||||
<DependentUpon>UserWindow.xaml</DependentUpon>
|
<Compile Include="MainWindow.xaml.cs">
|
||||||
|
<DependentUpon>MainWindow.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Page Include="MainWindow.xaml">
|
<Page Include="LogWindow.xaml">
|
||||||
<Generator>MSBuild:Compile</Generator>
|
<Generator>MSBuild:Compile</Generator>
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
</Page>
|
</Page>
|
||||||
@@ -70,11 +71,11 @@
|
|||||||
<DependentUpon>App.xaml</DependentUpon>
|
<DependentUpon>App.xaml</DependentUpon>
|
||||||
<SubType>Code</SubType>
|
<SubType>Code</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="MainWindow.xaml.cs">
|
<Compile Include="LogWindow.xaml.cs">
|
||||||
<DependentUpon>MainWindow.xaml</DependentUpon>
|
<DependentUpon>LogWindow.xaml</DependentUpon>
|
||||||
<SubType>Code</SubType>
|
<SubType>Code</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Page Include="UserWindow.xaml">
|
<Page Include="MainWindow.xaml">
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
<Generator>MSBuild:Compile</Generator>
|
<Generator>MSBuild:Compile</Generator>
|
||||||
</Page>
|
</Page>
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
<Window x:Class="StormChatWPF.UserWindow"
|
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
||||||
xmlns:local="clr-namespace:StormChatWPF"
|
|
||||||
mc:Ignorable="d"
|
|
||||||
Title="UserWindow" Height="450" Width="800"
|
|
||||||
|
|
||||||
>
|
|
||||||
<Grid>
|
|
||||||
|
|
||||||
</Grid>
|
|
||||||
</Window>
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using System.Windows;
|
|
||||||
using System.Windows.Controls;
|
|
||||||
using System.Windows.Data;
|
|
||||||
using System.Windows.Documents;
|
|
||||||
using System.Windows.Input;
|
|
||||||
using System.Windows.Media;
|
|
||||||
using System.Windows.Media.Imaging;
|
|
||||||
using System.Windows.Shapes;
|
|
||||||
|
|
||||||
namespace StormChatWPF
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// UserWindow.xaml 的交互逻辑
|
|
||||||
/// </summary>
|
|
||||||
public partial class UserWindow : Window
|
|
||||||
{
|
|
||||||
public UserWindow()
|
|
||||||
{
|
|
||||||
InitializeComponent();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user