@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 == "VerificationRegister") { ShowSuccessAlert("ثبت نام شما با موفقیت انجام شد"); } else if (from == "VerificationFrogetPass") { ShowSuccessAlert("تغییر کلمه عبور با موفقیت انجام شد"); } else if (from == "unon") { ShowSuccessAlert("برای استفاده از برنامه لطفا مجدد وارد شود"); } else if (from == "changePass") { 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 ForgetPass() { if (string.IsNullOrEmpty(Model.Username)) { ShowDangerAlert("لطفا نام کابری(موبایل) خود را وارد نمایید"); } else if (string.IsNullOrEmpty(Model.Password)) { ShowDangerAlert("لطفا کلمه عبور جدید را وارد نمایید"); } else { var request = await _hc.PostAsJsonAsync("Base/ForgetPassWord", new ForgetPasswordItem { Username = Model.Username, PassWord = Model.Password }); if (request.IsSuccessStatusCode) { var VerificationID = await request.Content.ReadFromJsonAsync(); nav.NavigateTo($"Verification/{VerificationID}"); } else { var error = await request.Content.ReadFromJsonAsync>(); ShowDangerAlert(error[0]); } } } private async Task OnLoginClick() { _hc.DefaultRequestHeaders.Clear(); 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; userinfo.UserName = userinfomodel.UserName; nav.NavigateTo("/Panel"); } else if (request.StatusCode == System.Net.HttpStatusCode.NotFound) ShowDangerAlert("کاربری با این مشخصات یافت نشد"); else ShowDangerAlert("خطای سیستمی"); } }