forked from AcaMate/AcaMate_Web
1. 로그인 동작을 위해서 viewmodel 로 관련 뷰에서 동작할 모든 로직을 viewmodel에서 관리 1.1. view 와 viewmodel의 관계는 1:N으로 동작하는것을 기반으로 두고 있음 2. API 접근하는 방식도 웹만의 접근 방법에서 수정 3. 로그인 동작 정보 받는 로직 수정
42 lines
1.3 KiB
C#
42 lines
1.3 KiB
C#
using Microsoft.AspNetCore.Components;
|
|
using Microsoft.EntityFrameworkCore.Metadata.Internal;
|
|
|
|
namespace Front.Program.Services;
|
|
|
|
public class QueryParamService
|
|
{
|
|
public Dictionary<string, string> ParseQueryParam(System.Uri uri)
|
|
{
|
|
var result = new Dictionary<string, string>();
|
|
if (!string.IsNullOrEmpty(uri.Query))
|
|
{
|
|
var query = uri.Query.TrimStart('?');
|
|
var parameters = query.Split('&')
|
|
.Select(p => p.Split('='))
|
|
.Where(p => p.Length == 2)
|
|
.ToDictionary(p => p[0], p => p[1]);
|
|
result = parameters;
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
public async Task AuthCheck(Dictionary<string, string> parameters, StorageService storageService)
|
|
{
|
|
if (parameters.TryGetValue("auth", out var auth))
|
|
{
|
|
Console.WriteLine($"auth 파라미터 값: {auth}");
|
|
if (auth == "true")
|
|
{
|
|
await storageService.SetItemAsync("IsLogin", "true");
|
|
Console.WriteLine("로그인 상태를 true로 설정했습니다.");
|
|
}
|
|
else
|
|
{
|
|
await storageService.RemoveItemAsync("IsLogin");
|
|
Console.WriteLine("로그인 상태를 제거했습니다.");
|
|
|
|
}
|
|
}
|
|
}
|
|
} |