From a21ebbc146af0ab927752bd4d1b4583c5def1056 Mon Sep 17 00:00:00 2001 From: jammykii Date: Tue, 29 Nov 2022 20:42:36 +0900 Subject: [PATCH 1/3] =?UTF-8?q?=EA=B9=80=EC=A4=80=EC=B2=A0=20-=20c#=20?= =?UTF-8?q?=EA=B3=BC=EC=A0=9C=20=EC=A0=9C=EC=B6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatClient/App.xaml.cs | 15 ++++++++- ChatClient/LoginPage.xaml.cs | 35 +++++++++++++++++-- ChatClient/MainWindow.xaml | 4 +-- ChatClient/MainWindow.xaml.cs | 2 ++ ChatClient/Models/AccessTokenModel.cs | 16 +++++++++ ChatClient/Models/LoginModel.cs | 20 +++++++++++ ChatClient/Models/ResponseModel.cs | 16 +++++++++ ChatClient/Models/SignupModel.cs | 24 ++++++++++++++ ChatClient/RegisterPage.xaml | 6 +++- ChatClient/RegisterPage.xaml.cs | 48 +++++++++++++++++++++++++-- 10 files changed, 178 insertions(+), 8 deletions(-) create mode 100644 ChatClient/Models/AccessTokenModel.cs create mode 100644 ChatClient/Models/LoginModel.cs create mode 100644 ChatClient/Models/ResponseModel.cs create mode 100644 ChatClient/Models/SignupModel.cs diff --git a/ChatClient/App.xaml.cs b/ChatClient/App.xaml.cs index 73b7fdc..47ff62e 100644 --- a/ChatClient/App.xaml.cs +++ b/ChatClient/App.xaml.cs @@ -1,10 +1,16 @@ -using System; +using ChatClient.Models; +<<<<<<< HEAD +using RestSharp; +======= +>>>>>>> 6a1d140258e665c9376aafc4701a303190fcaa02 +using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Linq; using System.Threading.Tasks; using System.Windows; +using System.Windows.Controls; namespace ChatClient { @@ -13,5 +19,12 @@ namespace ChatClient /// public partial class App : Application { + public static Frame PageFrame { get; set; } + public static AccessTokenModel? AccessToken { get; set; } +<<<<<<< HEAD + + public static RestClient client = new RestClient(); +======= +>>>>>>> 6a1d140258e665c9376aafc4701a303190fcaa02 } } diff --git a/ChatClient/LoginPage.xaml.cs b/ChatClient/LoginPage.xaml.cs index 5a047f0..999a2b2 100644 --- a/ChatClient/LoginPage.xaml.cs +++ b/ChatClient/LoginPage.xaml.cs @@ -1,4 +1,6 @@ -using System; +using ChatClient.Models; +using RestSharp; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -27,12 +29,41 @@ public LoginPage() private void RegisterBtnClick(object sender, RoutedEventArgs e) { - + App.PageFrame.Navigate(new RegisterPage()); } private void LoginBtnClick(object sender, RoutedEventArgs e) { + string id = IDTextBox.Text; + string password = PasswordTextBox.Password; + + LoginModel model = new LoginModel(id, password); +<<<<<<< HEAD + RestRequest request = new RestRequest("http://localhost:3000/user/signIn", Method.Post); + request.AddBody(model); + + var response = App.client.Execute>(request); +======= + RestClient client = new RestClient(); + RestRequest request = new RestRequest("http://localhost:3000/signIn", Method.Post); + request.AddBody(model); + + var response = client.Execute>(request); +>>>>>>> 6a1d140258e665c9376aafc4701a303190fcaa02 + if (response.IsSuccessStatusCode && response.Data?.Options != null) + { + App.AccessToken = response.Data.Options; + App.PageFrame.Navigate(new ChatPage()); + } + else +<<<<<<< HEAD + { +======= + { +>>>>>>> 6a1d140258e665c9376aafc4701a303190fcaa02 + MessageBox.Show(response.Data?.Message ?? "Unknown error"); + } } } } diff --git a/ChatClient/MainWindow.xaml b/ChatClient/MainWindow.xaml index 7bdab70..da828ff 100644 --- a/ChatClient/MainWindow.xaml +++ b/ChatClient/MainWindow.xaml @@ -13,9 +13,9 @@ TextOptions.TextRenderingMode="Auto" Background="{DynamicResource MaterialDesignPaper}" FontFamily="{DynamicResource MaterialDesignFont}" - Title="MainWindow" Height="450" Width="800" MinWidth="300" MinHeight="500"> + Title="MainWindow" Height="450" Width="800" MinWidth="300" MinHeight="500" WindowStyle="None"> - + diff --git a/ChatClient/MainWindow.xaml.cs b/ChatClient/MainWindow.xaml.cs index e4b8634..acc3b00 100644 --- a/ChatClient/MainWindow.xaml.cs +++ b/ChatClient/MainWindow.xaml.cs @@ -24,6 +24,8 @@ public partial class MainWindow : Window public MainWindow() { InitializeComponent(); + App.PageFrame = PageFrame; + PageFrame.Navigate(new LoginPage()); } } } diff --git a/ChatClient/Models/AccessTokenModel.cs b/ChatClient/Models/AccessTokenModel.cs new file mode 100644 index 0000000..bda226a --- /dev/null +++ b/ChatClient/Models/AccessTokenModel.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Text.Json.Serialization; +using System.Threading.Tasks; + +namespace ChatClient.Models +{ + public class AccessTokenModel + { + [JsonPropertyName("token")] + public string Token { get; set; } + public string RefreshToken { get; set; } + } +} \ No newline at end of file diff --git a/ChatClient/Models/LoginModel.cs b/ChatClient/Models/LoginModel.cs new file mode 100644 index 0000000..0a3965f --- /dev/null +++ b/ChatClient/Models/LoginModel.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ChatClient.Models +{ + internal class LoginModel + { + public string Id { get; set; } + public string Password { get; set; } + + public LoginModel(string id, string password) { + Id = id; + Password = password; + } + + } +} diff --git a/ChatClient/Models/ResponseModel.cs b/ChatClient/Models/ResponseModel.cs new file mode 100644 index 0000000..19852b9 --- /dev/null +++ b/ChatClient/Models/ResponseModel.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ChatClient.Models +{ + internal class ResponseModel + { + public string Code { get; set; } + public string Message { get; set; } + + public T? Options { get; set; } + } +} diff --git a/ChatClient/Models/SignupModel.cs b/ChatClient/Models/SignupModel.cs new file mode 100644 index 0000000..ec08b19 --- /dev/null +++ b/ChatClient/Models/SignupModel.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ChatClient.Models +{ + internal class SignupModel + { + public string Id { get; set; } + + public string Name { get; set; } + + public string Password { get; set; } + + public SignupModel(string id, string password, string name) + { + Id = id; + Name = name; + Password = password; + } + } +} diff --git a/ChatClient/RegisterPage.xaml b/ChatClient/RegisterPage.xaml index 8467bc1..cc2cf64 100644 --- a/ChatClient/RegisterPage.xaml +++ b/ChatClient/RegisterPage.xaml @@ -24,7 +24,11 @@ - +<<<<<<< HEAD + +======= + +>>>>>>> 6a1d140258e665c9376aafc4701a303190fcaa02 diff --git a/ChatClient/RegisterPage.xaml.cs b/ChatClient/RegisterPage.xaml.cs index 3ec0e9d..076cf7b 100644 --- a/ChatClient/RegisterPage.xaml.cs +++ b/ChatClient/RegisterPage.xaml.cs @@ -1,7 +1,14 @@ -using System; +using ChatClient.Models; +using RestSharp; +using System; +<<<<<<< HEAD +======= +using System.CodeDom; +>>>>>>> 6a1d140258e665c9376aafc4701a303190fcaa02 using System.Collections.Generic; using System.Linq; using System.Text; +using System.Text.Json.Nodes; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; @@ -27,12 +34,49 @@ public RegisterPage() private void BackBtnClick(object sender, RoutedEventArgs e) { - + App.PageFrame.GoBack(); } private void RegisterBtnClick(object sender, RoutedEventArgs e) { + string id = IDTextBox.Text; + string username = UsernameTextBox.Text; + string password = PasswordTextBox.Password; + string passwordConfirm = PasswordConfirmTextBox.Password; + +<<<<<<< HEAD + if(password != passwordConfirm) +======= + if (password != passwordConfirm) +>>>>>>> 6a1d140258e665c9376aafc4701a303190fcaa02 + { + MessageBox.Show("비밀번호랑 비밀번호 확인이 달라요!"); + } + +<<<<<<< HEAD + // TODO: 서버에 회원가입 요청 보내기 + SignupModel model = new SignupModel(id, password, username); + RestRequest request = new RestRequest("http://localhost:3000/user/signUp", Method.Post); + request.AddBody(model); + + var response = App.client.Execute>(request); +======= + SignupModel model = new SignupModel(id, password, username); + RestClient client = new RestClient(); + RestRequest request = new RestRequest("http://localhost:3000/signUp", Method.Post); + request.AddBody(model); + + var response = client.Execute>(request); +>>>>>>> 6a1d140258e665c9376aafc4701a303190fcaa02 + if (response.IsSuccessStatusCode && response.Data?.Options != null) + { + App.PageFrame.GoBack(); + } + else + { + MessageBox.Show(response.Data?.Message ?? "Unknown error"); + } } } } From 0ce1cf6b98c6e091cccd23cf4b92787706cbb99b Mon Sep 17 00:00:00 2001 From: jammykii Date: Wed, 30 Nov 2022 16:03:20 +0900 Subject: [PATCH 2/3] =?UTF-8?q?=EA=B9=80=EC=A4=80=EC=B2=A0=20-C#=20?= =?UTF-8?q?=EA=B3=BC=EC=A0=9C=20=EC=A0=9C=EC=B6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatClient/RegisterPage.xaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/ChatClient/RegisterPage.xaml b/ChatClient/RegisterPage.xaml index cc2cf64..5ead5a2 100644 --- a/ChatClient/RegisterPage.xaml +++ b/ChatClient/RegisterPage.xaml @@ -24,11 +24,7 @@ -<<<<<<< HEAD - -======= ->>>>>>> 6a1d140258e665c9376aafc4701a303190fcaa02 From 4b1b61ced5fe3697f5bb9f1ff2fff76d0c8685f7 Mon Sep 17 00:00:00 2001 From: jammykii Date: Wed, 30 Nov 2022 16:18:07 +0900 Subject: [PATCH 3/3] Update LoginPage.xaml.cs --- ChatClient/LoginPage.xaml.cs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/ChatClient/LoginPage.xaml.cs b/ChatClient/LoginPage.xaml.cs index db357a6..28b36a3 100644 --- a/ChatClient/LoginPage.xaml.cs +++ b/ChatClient/LoginPage.xaml.cs @@ -34,7 +34,24 @@ private void RegisterBtnClick(object sender, RoutedEventArgs e) private void LoginBtnClick(object sender, RoutedEventArgs e) { + string id = IDTextBox.Text; + string password = PasswordTextBox.Password; + LoginModel model = new LoginModel(id, password); + RestRequest request = new RestRequest("http://localhost:3000/user/signIn", Method.Post); + request.AddBody(model); + + var response = App.client.Execute>(request); + + if (response.IsSuccessStatusCode && response.Data?.Options != null) + { + App.AccessToken = response.Data.Options; + App.PageFrame.Navigate(new ChatPage()); + } + else + { + MessageBox.Show(response.Data?.Message ?? "Unknown error"); + } } } }