@page "/account/login" @layout EmptyLayout @inject ILogger Logger 登录 @if (!dataLoaded) { } else {
忘记密码 马上注册
Copyright © 2025-@DateTime.Now.Year Atomlust.com All rights reserved. runing as @handler
} @code { string handler = "Server"; [Parameter] [SupplyParameterFromQuery(Name = "ReturnUrl")] public string? ReturnUrl { get; set; } [SupplyParameterFromForm] public LoginModel login { get; set; } = new(); private Form form = null!; bool dataLoaded = false; string message { get; set; } = string.Empty; private bool _isLoading = false; protected override void OnInitialized() { if (OperatingSystem.IsBrowser()) { handler = "Wasm"; } else { handler = "Server"; } } protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { var authState = await AuthStateProvider.GetAuthenticationStateAsync(); if (authState.User.Identity != null) { if (authState.User.Identity.IsAuthenticated) { Navigation.NavigateTo(ReturnUrl ?? "/"); } } } if (!dataLoaded) { dataLoaded = true; StateHasChanged(); } } private async Task LoginAsync() { if (form.Validate()) { var api = "/api/sign/in"; var result = await HttpService.Post>(api, login); if (result.Success) { Console.WriteLine("请求api成功"); if (!string.IsNullOrEmpty(result.Data)) { await localStorage.SetItemAsStringAsync(StorageKeys.AccessToken, result.Data); await localStorage.SetItemAsStringAsync("refreshToken", result.Data); var authState = (AuthStateProvider as PersistentAuthenticationStateProvider); if (authState != null) { authState.UpdateAuthenticationState(result.Data); } Logger.LogInformation($"登录成功跳转目标,{ReturnUrl}"); Navigation.NavigateTo(ReturnUrl ?? "/"); } } else { ModalService.Error(new ConfirmOptions() { Title = "提示", Content = result.Message }); } } } private async Task OnPasswordKeyDown(KeyboardEventArgs value) { if (value.Key == "Enter") { await LoginAsync(); } } }