forked from AcaMate/AcaMate_Web
1. 로그인 동작을 위해서 viewmodel 로 관련 뷰에서 동작할 모든 로직을 viewmodel에서 관리 1.1. view 와 viewmodel의 관계는 1:N으로 동작하는것을 기반으로 두고 있음 2. API 접근하는 방식도 웹만의 접근 방법에서 수정 3. 로그인 동작 정보 받는 로직 수정
60 lines
1.4 KiB
C#
60 lines
1.4 KiB
C#
using Microsoft.AspNetCore.Components;
|
|
using Microsoft.JSInterop;
|
|
using System;
|
|
using System.Net.Http.Json;
|
|
using System.Text.Json;
|
|
using Front.Program.Models;
|
|
using Front.Program.Services;
|
|
using Front.Program.ViewModels;
|
|
|
|
namespace Front.Program.Views.Project;
|
|
|
|
public partial class TopProjectNav : ComponentBase
|
|
{
|
|
[Inject] NavigationManager NavigationManager { get; set; } = default!;
|
|
|
|
[Inject] UserViewModel UserViewModel { get; set; } = default!;
|
|
|
|
[Inject] IJSRuntime JS { get; set; } = default!;
|
|
|
|
[Inject] HttpClient Http { get; set; } = default!;
|
|
|
|
protected bool isOpen = false;
|
|
|
|
protected override async Task OnInitializedAsync()
|
|
{
|
|
Console.WriteLine("TOPNAV_OnInitializedAsync");
|
|
|
|
if (string.IsNullOrEmpty(UserViewModel.UserData.Name))
|
|
{
|
|
await UserViewModel.GetUserDataAsync();
|
|
}
|
|
}
|
|
|
|
public void OnClickMenuDown()
|
|
{
|
|
isOpen = !isOpen;
|
|
}
|
|
|
|
public void OnClickRedirect()
|
|
{
|
|
if (isOpen) isOpen = !isOpen;
|
|
NavigationManager.NavigateTo("/about");
|
|
}
|
|
|
|
public void OnClickLogin()
|
|
{
|
|
if (isOpen) isOpen = !isOpen;
|
|
NavigationManager.NavigateTo("/auth");
|
|
}
|
|
|
|
public async Task OnClickLogout()
|
|
{
|
|
await UserViewModel.ClearUserData();
|
|
//
|
|
// if (await UserViewModel.ClearUserData())
|
|
// {
|
|
// isLogin = false;
|
|
// }
|
|
}
|
|
} |