Files
KinginfoGateway/framework/ThingsGateway.Admin.Blazor/Page/UserCenter.razor.cs

82 lines
3.1 KiB
C#
Raw Normal View History

2023-08-18 09:57:03 +08:00
#region copyright
2023-08-07 15:09:53 +08:00
//------------------------------------------------------------------------------
2023-08-18 09:57:03 +08:00
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
// 此代码版权除特别声明外的代码归作者本人Diego所有
// 源代码使用协议遵循本仓库的开源协议及附加协议
// Gitee源代码仓库https://gitee.com/diego2098/ThingsGateway
// Github源代码仓库https://github.com/kimdiego2098/ThingsGateway
// 使用文档https://diego2098.gitee.io/thingsgateway-docs/
// QQ群605534569
2023-08-07 15:09:53 +08:00
//------------------------------------------------------------------------------
#endregion
using Masa.Blazor;
using ThingsGateway.Admin.Application;
using ThingsGateway.Admin.Blazor.Core;
using ThingsGateway.Admin.Core;
namespace ThingsGateway.Admin.Blazor;
/// <summary>
2023-08-18 09:57:03 +08:00
/// 个人设置
2023-08-07 15:09:53 +08:00
/// </summary>
public partial class UserCenter
{
List<long> _menusChoice = new();
readonly PasswordInfoInput _passwordInfoInput = new();
readonly UpdateInfoInput _updateInfoInput = new();
long DefaultMenuId { get; set; }
[CascadingParameter]
MainLayout MainLayout { get; set; }
[Inject]
NavigationManager NavigationManager { get; set; }
2023-08-07 15:09:53 +08:00
/// <inheritdoc/>
protected override async Task OnParametersSetAsync()
{
DefaultMenuId = await App.GetService<IUserCenterService>().GetLoginDefaultRazorAsync(UserManager.UserId);
_updateInfoInput.Email = UserResoures.CurrentUser.Email;
_updateInfoInput.Phone = UserResoures.CurrentUser.Phone;
_menusChoice = await App.GetService<IUserCenterService>().GetLoginWorkbenchAsync();
await base.OnParametersSetAsync();
}
async Task OnDefaultRazorSaveAsync()
{
await App.GetService<UserCenterService>().UpdateUserDefaultRazorAsync(UserManager.UserId, DefaultMenuId);
2023-08-07 15:09:53 +08:00
await MainLayout.StateHasChangedAsync();
2023-08-18 09:57:03 +08:00
await PopupService.EnqueueSnackbarAsync("成功", AlertTypes.Success);
2023-08-07 15:09:53 +08:00
}
async Task OnShortcutSaveAsync()
{
await App.GetService<UserCenterService>().UpdateWorkbenchAsync(_menusChoice);
2023-08-07 15:09:53 +08:00
await MainLayout.StateHasChangedAsync();
2023-08-18 09:57:03 +08:00
await PopupService.EnqueueSnackbarAsync("成功", AlertTypes.Success);
2023-08-07 15:09:53 +08:00
}
async Task OnUpdatePasswordInfoAsync(FormContext context)
{
var success = context.Validate();
if (success)
{
2023-08-18 09:57:03 +08:00
//验证成功,操作业务
2023-08-07 15:09:53 +08:00
_passwordInfoInput.Id = UserResoures.CurrentUser.Id;
await App.GetService<UserCenterService>().EditPasswordAsync(_passwordInfoInput);
2023-08-07 15:09:53 +08:00
await MainLayout.StateHasChangedAsync();
2023-08-18 09:57:03 +08:00
await PopupService.EnqueueSnackbarAsync("成功,将重新登录", AlertTypes.Success);
2023-08-07 15:09:53 +08:00
await Task.Delay(2000);
NavigationManager.NavigateTo(NavigationManager.Uri);
}
}
async Task OnUpdateUserInfoAsync()
{
await App.GetService<UserCenterService>().UpdateUserInfoAsync(_updateInfoInput);
2023-08-07 15:09:53 +08:00
await MainLayout.StateHasChangedAsync();
2023-08-18 09:57:03 +08:00
await PopupService.EnqueueSnackbarAsync("成功", AlertTypes.Success);
2023-08-07 15:09:53 +08:00
}
}