login service by localstorg
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
@page "/Sign-in"
|
||||
@using Front.Services
|
||||
@using Shared.DTOs
|
||||
|
||||
@inject ILocalStorageService Storage;
|
||||
@inject UserAuthenticationDTO userinfo
|
||||
@inject localService localserv;
|
||||
@inject HttpClient _hc
|
||||
@inject NavigationManager nav
|
||||
@inject UserAuthenticationDTO userinfo
|
||||
<PageTitle>ورود</PageTitle>
|
||||
<main>
|
||||
|
||||
@@ -41,7 +43,7 @@
|
||||
<div class="signin-banner-title-box">
|
||||
<h4 class="signin-banner-from-title">ورود به سیستم</h4>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="signin-banner-from-box">
|
||||
<EditForm Model="Model" OnValidSubmit="OnLoginClick">
|
||||
<DataAnnotationsValidator />
|
||||
@@ -54,7 +56,7 @@
|
||||
<div class="col-12">
|
||||
<div class="postbox__comment-input mb-30">
|
||||
<InputText @bind-Value="Model.Username" id="Username" type="text" class="inputText" required="" />
|
||||
|
||||
|
||||
<span class="floating-label">نام کاربری</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -86,29 +88,29 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="signin-banner-form-remember">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<div class="postbox__comment-agree">
|
||||
<div class="form-check">
|
||||
|
||||
<div class="signin-banner-form-remember">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<div class="postbox__comment-agree">
|
||||
<div class="form-check">
|
||||
<InputCheckbox @bind-Value="Model.Remember" id="Remember" class="form-check-input" type="checkbox" />
|
||||
<label class="form-check-label" for="flexCheckDefault">
|
||||
مرا به یاد داشته باش
|
||||
</label>
|
||||
<label class="form-check-label" for="flexCheckDefault">
|
||||
مرا به یاد داشته باش
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="postbox__forget text-end">
|
||||
<a href="#">رمز عبور را فراموش کرده اید؟</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="postbox__forget text-end">
|
||||
<a href="#">رمز عبور را فراموش کرده اید؟</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="signin-banner-from-btn mb-20">
|
||||
<button class="signin-btn ">ورود</button>
|
||||
</div>
|
||||
<div class="signin-banner-from-btn mb-20">
|
||||
<button class="signin-btn ">ورود</button>
|
||||
</div>
|
||||
</EditForm>
|
||||
<div class="row">
|
||||
<Alert hidden="@Hidealert" Color="@alertColor" Dismissable="false">
|
||||
@@ -132,19 +134,21 @@
|
||||
|
||||
@code {
|
||||
[SupplyParameterFromForm]
|
||||
public Authentication? Model { get; set; }
|
||||
protected override void OnInitialized() => Model ??= new();
|
||||
public Authentication? Model { get; set; }
|
||||
// alert
|
||||
AlertColor alertColor = AlertColor.Primary;
|
||||
IconName alertIconName = IconName.CheckCircleFill;
|
||||
bool Hidealert = true;
|
||||
string alertMessage = "";
|
||||
// protected override async Task OnInitializedAsync()
|
||||
// {
|
||||
// var t1 = userinfo;
|
||||
// var t2 = _hc;
|
||||
// await base.OnInitializedAsync();
|
||||
// }
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
|
||||
if (await localserv.OnlineUser())
|
||||
nav.NavigateTo("/");
|
||||
|
||||
Model ??= new();
|
||||
await base.OnInitializedAsync();
|
||||
}
|
||||
}
|
||||
@functions {
|
||||
private void ShowDangerAlert(string msg)
|
||||
@@ -154,24 +158,38 @@
|
||||
alertIconName = IconName.ExclamationTriangleFill;
|
||||
alertMessage = msg;
|
||||
}
|
||||
private async Task EndForm() =>nav.NavigateTo("/");
|
||||
|
||||
private async Task EndForm() => nav.NavigateTo("/");
|
||||
|
||||
|
||||
private async Task OnLoginClick()
|
||||
{
|
||||
var request = await _hc.PostAsJsonAsync("User/authenticate", Model);
|
||||
var request = await _hc.PostAsJsonAsync("User/authenticate", Model);
|
||||
if (request.IsSuccessStatusCode)
|
||||
{
|
||||
userinfo = await request.Content.ReadFromJsonAsync<UserAuthenticationDTO>();
|
||||
var userinfomodel = await request.Content.ReadFromJsonAsync<UserAuthenticationDTO>();
|
||||
|
||||
_hc.DefaultRequestHeaders.Clear();
|
||||
|
||||
_hc.DefaultRequestHeaders.Add("Authorization",
|
||||
$"Bearer {userinfo?.Token}");
|
||||
|
||||
$"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("/");
|
||||
}
|
||||
else if (request.StatusCode==System.Net.HttpStatusCode.NotFound)
|
||||
ShowDangerAlert("کاربری با این مشخصات یافت نشد");
|
||||
|
||||
else if (request.StatusCode == System.Net.HttpStatusCode.NotFound)
|
||||
ShowDangerAlert("کاربری با این مشخصات یافت نشد");
|
||||
|
||||
else ShowDangerAlert("خطای سیستمی");
|
||||
|
||||
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user