Files
KinginfoGateway/src/Admin/ThingsGateway.Admin.Razor/Pages/UserCenter/UserCenterPage.razor.cs

98 lines
3.3 KiB
C#
Raw Normal View History

2025-01-24 22:42:26 +08:00
//------------------------------------------------------------------------------
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
// 此代码版权除特别声明外的代码归作者本人Diego所有
// 源代码使用协议遵循本仓库的开源协议及附加协议
// Gitee源代码仓库https://gitee.com/diego2098/ThingsGateway
// Github源代码仓库https://github.com/kimdiego2098/ThingsGateway
// 使用文档https://thingsgateway.cn/
// QQ群605534569
//------------------------------------------------------------------------------
using Mapster;
using Microsoft.AspNetCore.Components.Forms;
using ThingsGateway.Admin.Application;
namespace ThingsGateway.Admin.Razor;
public partial class UserCenterPage
{
[CascadingParameter(Name = "ReloadMenu")]
private Func<Task>? ReloadMenu { get; set; }
[CascadingParameter(Name = "ReloadUser")]
private Func<Task>? ReloadUser { get; set; }
private SysUser SysUser { get; set; }
private UpdatePasswordInput UpdatePasswordInput { get; set; } = new();
[Inject]
[NotNull]
private IUserCenterService? UserCenterService { get; set; }
private WorkbenchInfo WorkbenchInfo { get; set; } = new();
protected override async Task OnParametersSetAsync()
{
SysUser = AppContext.CurrentUser.Adapt<SysUser>();
2025-05-31 00:43:43 +08:00
SysUser.Avatar = AppContext.Avatar;
2025-01-24 22:42:26 +08:00
WorkbenchInfo = (await UserCenterService.GetLoginWorkbenchAsync(SysUser.Id)).Adapt<WorkbenchInfo>();
await base.OnParametersSetAsync();
}
private async Task OnSavePassword(EditContext editContext)
{
try
{
await UserCenterService.UpdatePasswordAsync(UpdatePasswordInput);
if (ReloadUser != null)
{
await ReloadUser();
}
await ToastService.Success(Localizer["UpdatePassword"], $"{RazorLocalizer["Save"]}{RazorLocalizer["Success"]}");
}
catch (Exception ex)
{
await ToastService.Warning(Localizer["UpdatePassword"], $"{RazorLocalizer["Save"]}{RazorLocalizer["Fail", ex.Message]}");
}
}
private async Task OnSaveUserInfo(EditContext editContext)
{
try
{
await UserCenterService.UpdateUserInfoAsync(SysUser);
if (ReloadUser != null)
{
await ReloadUser();
}
await ToastService.Success(Localizer["UpdateUserInfo"], $"{RazorLocalizer["Save"]}{RazorLocalizer["Success"]}");
}
catch (Exception ex)
{
await ToastService.Warning(Localizer["UpdateUserInfo"], $"{RazorLocalizer["Save"]}{RazorLocalizer["Fail", ex.Message]}");
}
}
private async Task OnSaveWorkbench(EditContext editContext)
{
try
{
await UserCenterService.UpdateWorkbenchInfoAsync(WorkbenchInfo);
if (ReloadMenu != null)
{
await ReloadMenu();
}
await ToastService.Success(Localizer["UpdateWorkbenchInfo"], $"{RazorLocalizer["Save"]}{RazorLocalizer["Success"]}");
}
catch (Exception ex)
{
await ToastService.Warning(Localizer["UpdateWorkbenchInfo"], $"{RazorLocalizer["Save"]}{RazorLocalizer["Fail", ex.Message]}");
}
}
}