@page "/Sign-in" @page "/Sign-in/{from}" @using Front.Services @using Shared.DTOs @inject ILocalStorageService Storage; @inject UserAuthenticationDTO userinfo @inject localService localserv; @inject HttpClient _hc @inject NavigationManager nav ورود برای استفاده از بخش ها وارد شوید ورود به سیستم نام کاربری گذرواژه مرا به یاد داشته باش رمز عبور را فراموش کرده اید؟ ورود @alertMessage @if (showbtn) { اتمام عملیات } اکانت ندارید؟ ثبت نام @code { [Parameter] public string from { get; set; } = ""; bool showbtn = false; [SupplyParameterFromForm] public Authentication? Model { get; set; } // alert AlertColor alertColor = AlertColor.Primary; IconName alertIconName = IconName.CheckCircleFill; bool Hidealert = true; string alertMessage = ""; protected override async Task OnParametersSetAsync() { if (from == "Verification") { ShowSuccessAlert("ثبت نام شما با موفقیت انجام شد"); } await base.OnParametersSetAsync(); } protected override async Task OnInitializedAsync() { if (await localserv.OnlineUser()) nav.NavigateTo("/Panel"); Model ??= new(); await base.OnInitializedAsync(); } } @functions { private void ShowDangerAlert(string msg) { showbtn = true; Hidealert = false; alertColor = AlertColor.Danger; alertIconName = IconName.ExclamationTriangleFill; alertMessage = msg; } private void ShowSuccessAlert(string msg) { showbtn = false; Hidealert = false; alertColor = AlertColor.Success; alertIconName = IconName.CheckCircleFill; alertMessage = msg; } private async Task EndForm() => nav.NavigateTo("/"); private async Task OnLoginClick() { var request = await _hc.PostAsJsonAsync("User/authenticate", Model); if (request.IsSuccessStatusCode) { var userinfomodel = await request.Content.ReadFromJsonAsync(); _hc.DefaultRequestHeaders.Clear(); _hc.DefaultRequestHeaders.Add("Authorization", $"Bearer {userinfomodel?.Token}"); if (Model.Remember) Storage.SetItem("token", userinfomodel?.Token); userinfo.Token = userinfomodel?.Token; userinfo.Company = userinfomodel?.Company; userinfo.FullName = userinfomodel.FullName; userinfo.Photo = userinfomodel.Photo; userinfo.exitDate = userinfomodel.exitDate; userinfo.enterDate = userinfomodel.enterDate; nav.NavigateTo("/Panel"); } else if (request.StatusCode == System.Net.HttpStatusCode.NotFound) ShowDangerAlert("کاربری با این مشخصات یافت نشد"); else ShowDangerAlert("خطای سیستمی"); } }