mirror of
https://github.com/project-redbud/FunGame-Desktop.git
synced 2025-04-20 12:09:34 +08:00
使用RunTimeModel;修改所有Controller
This commit is contained in:
parent
cd149e0cf1
commit
4f80628fcb
@ -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<bool> 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<Guid>("checkloginkey");
|
||||
msg = LoginRequest.GetResult<string>("msg") ?? "";
|
||||
Guid key = request.GetResult<Guid>("checkloginkey");
|
||||
msg = request.GetResult<string>("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<string>("msg") ?? "";
|
||||
msg = request.GetResult<string>("msg") ?? "";
|
||||
if (msg != "")
|
||||
{
|
||||
UIForm.ShowMessage(ShowMessageType.Error, msg);
|
||||
}
|
||||
else
|
||||
{
|
||||
User user = LoginRequest.GetResult<User>("user") ?? Factory.GetUser();
|
||||
User user = request.GetResult<User>("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<string> ForgetPassword_CheckVerifyCodeAsync(string username, string email, string verifycode)
|
||||
public static async Task<string> 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<string>("msg") ?? msg;
|
||||
msg = request.GetResult<string>("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<string>("msg") ?? msg;
|
||||
msg = request.GetResult<string>("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<string> ForgetPassword_UpdatePasswordAsync(string username, string password)
|
||||
public static async Task<string> 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<string>("msg") ?? msg;
|
||||
msg = request.GetResult<string>("msg") ?? msg;
|
||||
}
|
||||
else RunTime.WritelnSystemInfo(UpdatePasswordRequest.Error);
|
||||
else RunTime.WritelnSystemInfo(request.Error);
|
||||
request.Dispose();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
||||
|
@ -1,4 +1,6 @@
|
||||
namespace Milimoe.FunGame.Desktop.Library
|
||||
using Milimoe.FunGame.Desktop.Model;
|
||||
|
||||
namespace Milimoe.FunGame.Desktop.Library
|
||||
{
|
||||
public class Config
|
||||
{
|
||||
|
@ -1,6 +0,0 @@
|
||||
namespace Milimoe.FunGame.Desktop.Model
|
||||
{
|
||||
public class InventoryModel
|
||||
{
|
||||
}
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
namespace Milimoe.FunGame.Desktop.Model
|
||||
{
|
||||
public class RoomSettingModel
|
||||
{
|
||||
}
|
||||
}
|
@ -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
|
||||
{
|
||||
/// <summary>
|
||||
/// 运行时单例
|
@ -1,4 +0,0 @@
|
||||
namespace Milimoe.FunGame.Desktop.Model
|
||||
{
|
||||
// wait to remove
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
namespace Milimoe.FunGame.Desktop.Model
|
||||
{
|
||||
public class StoreModel
|
||||
{
|
||||
}
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
namespace Milimoe.FunGame.Desktop.Model
|
||||
{
|
||||
public class UserCenterModel
|
||||
{
|
||||
}
|
||||
}
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user