diff --git a/FunGame.Desktop/Controller/LoginController.cs b/FunGame.Desktop/Controller/LoginController.cs index cb48124..b6ecf99 100644 --- a/FunGame.Desktop/Controller/LoginController.cs +++ b/FunGame.Desktop/Controller/LoginController.cs @@ -8,6 +8,7 @@ using Milimoe.FunGame.Core.Library.SQLScript.Common; using Milimoe.FunGame.Core.Library.SQLScript.Entity; using Milimoe.FunGame.Desktop.Library; using Milimoe.FunGame.Desktop.Library.Component; +using Milimoe.FunGame.Desktop.Model; using Milimoe.FunGame.Desktop.UI; namespace Milimoe.FunGame.Desktop.Controller @@ -15,23 +16,10 @@ namespace Milimoe.FunGame.Desktop.Controller public class LoginController { private readonly GeneralForm UIForm; - private readonly DataRequest LoginRequest; - private readonly DataRequest ForgetPasswordRequest; - private readonly DataRequest UpdatePasswordRequest; public LoginController(GeneralForm form) { UIForm = form; - LoginRequest = RunTime.NewLongRunningDataRequest(DataRequestType.RunTime_Login); - ForgetPasswordRequest = RunTime.NewLongRunningDataRequest(DataRequestType.Login_GetFindPasswordVerifyCode); - UpdatePasswordRequest = RunTime.NewLongRunningDataRequest(DataRequestType.Login_UpdatePassword); - } - - public void Dispose() - { - LoginRequest.Dispose(); - ForgetPasswordRequest.Dispose(); - UpdatePasswordRequest.Dispose(); } public async Task LoginAccountAsync(string username, string password, string autokey = "") @@ -44,32 +32,33 @@ namespace Milimoe.FunGame.Desktop.Controller { if (OnBeforeLoginEvent(args)) { - LoginRequest.AddRequestData("username", username); - LoginRequest.AddRequestData("password", password); - LoginRequest.AddRequestData("autokey", autokey); - await LoginRequest.SendRequestAsync(); - if (LoginRequest.Result == RequestResult.Success) + DataRequest request = RunTime.NewLongRunningDataRequest(DataRequestType.RunTime_Login); + request.AddRequestData("username", username); + request.AddRequestData("password", password); + request.AddRequestData("autokey", autokey); + await request.SendRequestAsync(); + if (request.Result == RequestResult.Success) { - Guid key = LoginRequest.GetResult("checkloginkey"); - msg = LoginRequest.GetResult("msg") ?? ""; + Guid key = request.GetResult("checkloginkey"); + msg = request.GetResult("msg") ?? ""; if (msg != "") { UIForm.ShowMessage(ShowMessageType.Error, msg); } else if (key != Guid.Empty) { - LoginRequest.AddRequestData("checkloginkey", key); - await LoginRequest.SendRequestAsync(); - if (LoginRequest.Result == RequestResult.Success) + request.AddRequestData("checkloginkey", key); + await request.SendRequestAsync(); + if (request.Result == RequestResult.Success) { - msg = LoginRequest.GetResult("msg") ?? ""; + msg = request.GetResult("msg") ?? ""; if (msg != "") { UIForm.ShowMessage(ShowMessageType.Error, msg); } else { - User user = LoginRequest.GetResult("user") ?? Factory.GetUser(); + User user = request.GetResult("user") ?? Factory.GetUser(); if (user.Id != 0) { // 创建User对象并返回到Main @@ -80,6 +69,7 @@ namespace Milimoe.FunGame.Desktop.Controller } } } + request.Dispose(); } } catch (Exception e) @@ -97,36 +87,38 @@ namespace Milimoe.FunGame.Desktop.Controller return result; } - public async Task ForgetPassword_CheckVerifyCodeAsync(string username, string email, string verifycode) + public static async Task ForgetPassword_CheckVerifyCodeAsync(string username, string email, string verifycode) { string msg = "无法找回您的密码,请稍后再试。"; try { - ForgetPasswordRequest.AddRequestData(ForgetVerifyCodes.Column_Username, username); - ForgetPasswordRequest.AddRequestData(ForgetVerifyCodes.Column_Email, email); + DataRequest request = RunTime.NewLongRunningDataRequest(DataRequestType.Login_GetFindPasswordVerifyCode); + request.AddRequestData(ForgetVerifyCodes.Column_Username, username); + request.AddRequestData(ForgetVerifyCodes.Column_Email, email); if (verifycode.Trim() == "") { // 未发送verifycode,说明需要系统生成一个验证码 - ForgetPasswordRequest.AddRequestData(ForgetVerifyCodes.Column_ForgetVerifyCode, ""); - await ForgetPasswordRequest.SendRequestAsync(); - if (ForgetPasswordRequest.Result == RequestResult.Success) + request.AddRequestData(ForgetVerifyCodes.Column_ForgetVerifyCode, ""); + await request.SendRequestAsync(); + if (request.Result == RequestResult.Success) { - msg = ForgetPasswordRequest.GetResult("msg") ?? msg; + msg = request.GetResult("msg") ?? msg; } - else RunTime.WritelnSystemInfo(ForgetPasswordRequest.Error); + else RunTime.WritelnSystemInfo(request.Error); } else { // 发送verifycode,需要验证 - ForgetPasswordRequest.AddRequestData(ForgetVerifyCodes.Column_ForgetVerifyCode, verifycode); - await ForgetPasswordRequest.SendRequestAsync(); - if (ForgetPasswordRequest.Result == RequestResult.Success) + request.AddRequestData(ForgetVerifyCodes.Column_ForgetVerifyCode, verifycode); + await request.SendRequestAsync(); + if (request.Result == RequestResult.Success) { - msg = ForgetPasswordRequest.GetResult("msg") ?? msg; + msg = request.GetResult("msg") ?? msg; } - else RunTime.WritelnSystemInfo(ForgetPasswordRequest.Error); + else RunTime.WritelnSystemInfo(request.Error); } + request.Dispose(); } catch (Exception e) { @@ -136,20 +128,22 @@ namespace Milimoe.FunGame.Desktop.Controller return msg; } - public async Task ForgetPassword_UpdatePasswordAsync(string username, string password) + public static async Task ForgetPassword_UpdatePasswordAsync(string username, string password) { string msg = "无法更新您的密码,请稍后再试。"; try { - UpdatePasswordRequest.AddRequestData(UserQuery.Column_Username, username); - UpdatePasswordRequest.AddRequestData(UserQuery.Column_Password, password.Encrypt(username)); - await UpdatePasswordRequest.SendRequestAsync(); - if (UpdatePasswordRequest.Result == RequestResult.Success) + DataRequest request = RunTime.NewLongRunningDataRequest(DataRequestType.Login_UpdatePassword); + request.AddRequestData(UserQuery.Column_Username, username); + request.AddRequestData(UserQuery.Column_Password, password.Encrypt(username)); + await request.SendRequestAsync(); + if (request.Result == RequestResult.Success) { - msg = UpdatePasswordRequest.GetResult("msg") ?? msg; + msg = request.GetResult("msg") ?? msg; } - else RunTime.WritelnSystemInfo(UpdatePasswordRequest.Error); + else RunTime.WritelnSystemInfo(request.Error); + request.Dispose(); } catch (Exception e) { diff --git a/FunGame.Desktop/Controller/MainController.cs b/FunGame.Desktop/Controller/MainController.cs index 7818751..dc31f7f 100644 --- a/FunGame.Desktop/Controller/MainController.cs +++ b/FunGame.Desktop/Controller/MainController.cs @@ -6,6 +6,7 @@ using Milimoe.FunGame.Core.Library.Constant; using Milimoe.FunGame.Core.Library.Exception; using Milimoe.FunGame.Core.Model; using Milimoe.FunGame.Desktop.Library; +using Milimoe.FunGame.Desktop.Model; using Milimoe.FunGame.Desktop.UI; namespace Milimoe.FunGame.Desktop.Controller diff --git a/FunGame.Desktop/Controller/RegisterController.cs b/FunGame.Desktop/Controller/RegisterController.cs index eb1f0b8..6bc756a 100644 --- a/FunGame.Desktop/Controller/RegisterController.cs +++ b/FunGame.Desktop/Controller/RegisterController.cs @@ -1,11 +1,11 @@ -using Milimoe.FunGame.Desktop.Library; -using Milimoe.FunGame.Core.Library.Constant; +using Milimoe.FunGame.Core.Library.Constant; using Milimoe.FunGame.Desktop.UI; using Milimoe.FunGame.Core.Library.Exception; using Milimoe.FunGame.Core.Library.Common.Event; using Milimoe.FunGame.Core.Api.Utility; using Milimoe.FunGame.Desktop.Library.Component; using Milimoe.FunGame.Core.Api.Transmittal; +using Milimoe.FunGame.Desktop.Model; namespace Milimoe.FunGame.Desktop.Controller { @@ -28,7 +28,7 @@ namespace Milimoe.FunGame.Desktop.Controller RegisterEventArgs RegEventArgs = new(username, password, email); if (Register.OnBeforeRegEvent(RegEventArgs) == EventResult.Fail) return false; - DataRequest request = RunTime.NewDataRequest(DataRequestType.Reg_GetRegVerifyCode); + DataRequest request = RunTime.NewLongRunningDataRequest(DataRequestType.Reg_GetRegVerifyCode); request.AddRequestData("username", username); request.AddRequestData("password", password); request.AddRequestData("email", email); @@ -55,6 +55,7 @@ namespace Milimoe.FunGame.Desktop.Controller else break; } } + request.Dispose(); if (result) Register.OnSucceedRegEvent(RegEventArgs); else Register.OnFailedRegEvent(RegEventArgs); diff --git a/FunGame.Desktop/Controller/RunTimeController.cs b/FunGame.Desktop/Controller/RunTimeController.cs index 1420fb2..4835ea2 100644 --- a/FunGame.Desktop/Controller/RunTimeController.cs +++ b/FunGame.Desktop/Controller/RunTimeController.cs @@ -4,6 +4,7 @@ using Milimoe.FunGame.Core.Library.Common.Network; using Milimoe.FunGame.Core.Library.Constant; using Milimoe.FunGame.Core.Library.Exception; using Milimoe.FunGame.Desktop.Library; +using Milimoe.FunGame.Desktop.Model; using Milimoe.FunGame.Desktop.UI; namespace Milimoe.FunGame.Desktop.Controller @@ -20,11 +21,6 @@ namespace Milimoe.FunGame.Desktop.Controller LoginController = new(Main); } - public void Dispose() - { - LoginController.Dispose(); - } - public override void WritelnSystemInfo(string msg) { Main?.GetMessage(msg); diff --git a/FunGame.Desktop/Library/Component/GeneralForm.cs b/FunGame.Desktop/Library/Component/GeneralForm.cs index 9bc3483..067c05e 100644 --- a/FunGame.Desktop/Library/Component/GeneralForm.cs +++ b/FunGame.Desktop/Library/Component/GeneralForm.cs @@ -1,5 +1,6 @@ using Milimoe.FunGame.Core.Api.Utility; using Milimoe.FunGame.Core.Library.Constant; +using Milimoe.FunGame.Desktop.Model; using Milimoe.FunGame.Desktop.UI; using Milimoe.FunGame.Desktop.Utility; diff --git a/FunGame.Desktop/Library/Config/Config.cs b/FunGame.Desktop/Library/Config/Config.cs index aa21df8..06778f9 100644 --- a/FunGame.Desktop/Library/Config/Config.cs +++ b/FunGame.Desktop/Library/Config/Config.cs @@ -1,4 +1,6 @@ -namespace Milimoe.FunGame.Desktop.Library +using Milimoe.FunGame.Desktop.Model; + +namespace Milimoe.FunGame.Desktop.Library { public class Config { diff --git a/FunGame.Desktop/Model/InventoryModel.cs b/FunGame.Desktop/Model/InventoryModel.cs deleted file mode 100644 index 7e1359a..0000000 --- a/FunGame.Desktop/Model/InventoryModel.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Milimoe.FunGame.Desktop.Model -{ - public class InventoryModel - { - } -} diff --git a/FunGame.Desktop/Model/RoomSettingModel.cs b/FunGame.Desktop/Model/RoomSettingModel.cs deleted file mode 100644 index 03b2ead..0000000 --- a/FunGame.Desktop/Model/RoomSettingModel.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Milimoe.FunGame.Desktop.Model -{ - public class RoomSettingModel - { - } -} diff --git a/FunGame.Desktop/Library/Config/RunTime.cs b/FunGame.Desktop/Model/RunTime.cs similarity index 97% rename from FunGame.Desktop/Library/Config/RunTime.cs rename to FunGame.Desktop/Model/RunTime.cs index c71acd6..c1fe506 100644 --- a/FunGame.Desktop/Library/Config/RunTime.cs +++ b/FunGame.Desktop/Model/RunTime.cs @@ -1,7 +1,7 @@ using Milimoe.FunGame.Core.Api.Transmittal; using Milimoe.FunGame.Core.Library.Constant; -namespace Milimoe.FunGame.Desktop.Library +namespace Milimoe.FunGame.Desktop.Model { /// /// 运行时单例 diff --git a/FunGame.Desktop/Model/RunTimeModel.cs b/FunGame.Desktop/Model/RunTimeModel.cs deleted file mode 100644 index 1c54e34..0000000 --- a/FunGame.Desktop/Model/RunTimeModel.cs +++ /dev/null @@ -1,4 +0,0 @@ -namespace Milimoe.FunGame.Desktop.Model -{ - // wait to remove -} \ No newline at end of file diff --git a/FunGame.Desktop/Model/StoreModel.cs b/FunGame.Desktop/Model/StoreModel.cs deleted file mode 100644 index 57caba0..0000000 --- a/FunGame.Desktop/Model/StoreModel.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Milimoe.FunGame.Desktop.Model -{ - public class StoreModel - { - } -} diff --git a/FunGame.Desktop/Model/UserCenterModel.cs b/FunGame.Desktop/Model/UserCenterModel.cs deleted file mode 100644 index 9dd592b..0000000 --- a/FunGame.Desktop/Model/UserCenterModel.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Milimoe.FunGame.Desktop.Model -{ - public class UserCenterModel - { - } -} diff --git a/FunGame.Desktop/UI/Login/ForgetPassword.cs b/FunGame.Desktop/UI/Login/ForgetPassword.cs index f7bd1d1..6bed436 100644 --- a/FunGame.Desktop/UI/Login/ForgetPassword.cs +++ b/FunGame.Desktop/UI/Login/ForgetPassword.cs @@ -3,6 +3,7 @@ using Milimoe.FunGame.Core.Library.Constant; using Milimoe.FunGame.Core.Library.Exception; using Milimoe.FunGame.Desktop.Controller; using Milimoe.FunGame.Desktop.Library; +using Milimoe.FunGame.Desktop.Model; namespace Milimoe.FunGame.Desktop.UI { @@ -14,7 +15,6 @@ namespace Milimoe.FunGame.Desktop.UI { InitializeComponent(); LoginController = new(this); - Disposed += ForgetPassword_Disposed; } private void FindPassword_Click(object sender, EventArgs e) @@ -123,10 +123,5 @@ namespace Milimoe.FunGame.Desktop.UI } }); } - - private void ForgetPassword_Disposed(object? sender, EventArgs e) - { - LoginController.Dispose(); - } } } diff --git a/FunGame.Desktop/UI/Login/Login.cs b/FunGame.Desktop/UI/Login/Login.cs index 3e2371c..224cb1f 100644 --- a/FunGame.Desktop/UI/Login/Login.cs +++ b/FunGame.Desktop/UI/Login/Login.cs @@ -5,6 +5,7 @@ using Milimoe.FunGame.Core.Library.Exception; using Milimoe.FunGame.Desktop.Controller; using Milimoe.FunGame.Desktop.Library; using Milimoe.FunGame.Desktop.Library.Base; +using Milimoe.FunGame.Desktop.Model; using Milimoe.FunGame.Desktop.Utility; namespace Milimoe.FunGame.Desktop.UI @@ -22,7 +23,6 @@ namespace Milimoe.FunGame.Desktop.UI protected override void BindEvent() { base.BindEvent(); - Disposed += Login_Disposed; BeforeLogin += BeforeLoginEvent; AfterLogin += AfterLoginEvent; FailedLogin += FailedLoginEvent; @@ -78,11 +78,6 @@ namespace Milimoe.FunGame.Desktop.UI else GoToLogin.Enabled = true; }); } - private void Login_Disposed(object? sender, EventArgs e) - { - LoginController.Dispose(); - } - private void ForgetPassword_Click(object sender, EventArgs e) { diff --git a/FunGame.Desktop/UI/Main/Main.cs b/FunGame.Desktop/UI/Main/Main.cs index 56313f2..42548f7 100644 --- a/FunGame.Desktop/UI/Main/Main.cs +++ b/FunGame.Desktop/UI/Main/Main.cs @@ -7,6 +7,7 @@ using Milimoe.FunGame.Core.Library.Exception; using Milimoe.FunGame.Desktop.Controller; using Milimoe.FunGame.Desktop.Library; using Milimoe.FunGame.Desktop.Library.Base; +using Milimoe.FunGame.Desktop.Model; using Milimoe.FunGame.Desktop.Utility; namespace Milimoe.FunGame.Desktop.UI @@ -866,7 +867,6 @@ namespace Milimoe.FunGame.Desktop.UI { if (MainController != null) await LogOut(); RunTime.Controller?.Close(); - RunTime.Controller?.Dispose(); Environment.Exit(0); } } diff --git a/FunGame.Desktop/UI/Register/Register.cs b/FunGame.Desktop/UI/Register/Register.cs index cb82268..c74e783 100644 --- a/FunGame.Desktop/UI/Register/Register.cs +++ b/FunGame.Desktop/UI/Register/Register.cs @@ -5,6 +5,7 @@ using Milimoe.FunGame.Core.Library.Exception; using Milimoe.FunGame.Desktop.Controller; using Milimoe.FunGame.Desktop.Library; using Milimoe.FunGame.Desktop.Library.Base; +using Milimoe.FunGame.Desktop.Model; namespace Milimoe.FunGame.Desktop.UI { @@ -18,7 +19,7 @@ namespace Milimoe.FunGame.Desktop.UI public Register() { InitializeComponent(); - RegController = new RegisterController(this); + RegController = new(this); LoginController = new(this); } @@ -115,7 +116,7 @@ namespace Milimoe.FunGame.Desktop.UI { string username = ((RegisterEventArgs)e).Username; string password = ((RegisterEventArgs)e).Password; - TaskUtility.StartAndAwaitTask(async () => await LoginController.LoginAccountAsync(username, password)).OnCompleted(LoginController.Dispose); + TaskUtility.StartAndAwaitTask(async () => await LoginController.LoginAccountAsync(username, password)); RunTime.Login?.Close(); return EventResult.Success; } diff --git a/FunGame.Desktop/Utility/OpenForm.cs b/FunGame.Desktop/Utility/OpenForm.cs index c9fd11b..8d47fc8 100644 --- a/FunGame.Desktop/Utility/OpenForm.cs +++ b/FunGame.Desktop/Utility/OpenForm.cs @@ -1,7 +1,7 @@ using Milimoe.FunGame.Core.Api.Utility; using Milimoe.FunGame.Core.Library.Constant; using Milimoe.FunGame.Core.Library.Exception; -using Milimoe.FunGame.Desktop.Library; +using Milimoe.FunGame.Desktop.Model; using Milimoe.FunGame.Desktop.UI; namespace Milimoe.FunGame.Desktop.Utility