From 1e563eb576c2335228d46f579a9bd8de92917196 Mon Sep 17 00:00:00 2001 From: SEAN-59 Date: Fri, 20 Jun 2025 17:56:58 +0900 Subject: [PATCH] =?UTF-8?q?[=E2=99=BB=EF=B8=8F]=20=EC=84=B8=EC=85=98=20?= =?UTF-8?q?=EC=8A=A4=ED=86=A0=EB=A6=AC=EC=A7=80=20=EC=A0=80=EC=9E=A5=20?= =?UTF-8?q?=EB=A1=9C=EC=A7=81=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. API 호출 후 받아지는 데이터 반환하는 로직 추가 2. 스토리지 저장시 사용하는 변수 이름 변경 --- Program/Services/APIService.cs | 12 ++++----- Program/Services/UserStateService.cs | 25 ++++++++++++------- Program/Views/Academy/AcademyMain.razor | 4 --- .../{ => Common}/LeftSideAcademy.razor | 0 .../{ => Common}/LeftSideAcademy.razor.cs | 2 +- .../Academy/{ => Common}/TopNavAcademy.razor | 0 .../{ => Common}/TopNavAcademy.razor.cs | 2 +- 7 files changed, 24 insertions(+), 21 deletions(-) rename Program/Views/Academy/{ => Common}/LeftSideAcademy.razor (100%) rename Program/Views/Academy/{ => Common}/LeftSideAcademy.razor.cs (67%) rename Program/Views/Academy/{ => Common}/TopNavAcademy.razor (100%) rename Program/Views/Academy/{ => Common}/TopNavAcademy.razor.cs (94%) diff --git a/Program/Services/APIService.cs b/Program/Services/APIService.cs index f177fe8..5225883 100644 --- a/Program/Services/APIService.cs +++ b/Program/Services/APIService.cs @@ -28,9 +28,9 @@ public class APIService(HttpClient http, return response; } - public async Task<(bool success,T? data)> GetConnectServerAsnyc(string url) { + public async Task<(bool success, string? json, T? data)> GetConnectServerAsnyc(string url) { var headerValue = await storageService.GetItemAsync("Web-AM-Connect-Key"); - if (string.IsNullOrEmpty(headerValue)) return (false, default); + if (string.IsNullOrEmpty(headerValue)) return (false, null,default); var args = new { url = $"{url}", @@ -55,14 +55,14 @@ public class APIService(HttpClient http, var dataJson = dataElement.ToString(); var serialData = JsonSerializer.Deserialize(dataJson, new JsonSerializerOptions { PropertyNameCaseInsensitive = true }); - Console.WriteLine("[GetConnectServerAsnyc] 사용자 데이터 Json: " + dataJson); + Console.WriteLine("[GetConnectServerAsnyc] 사용자 데이터 Json: " + dataJson + dataJson.GetType()); Console.WriteLine("[GetConnectServerAsnyc] 사용자 데이터 변환: " + serialData.ToString());; if (serialData != null) { var encryptedData = await secureService.EncryptAsync(dataJson); - await storageService.SetItemAsync("USER_DATA", encryptedData); - return (true, serialData); + // await storageService.SetItemAsync("USER_DATA", encryptedData); + return (true, encryptedData, serialData); } else { @@ -76,7 +76,7 @@ public class APIService(HttpClient http, } Console.WriteLine("데이터를 찾을 수 없습니다"); - return (false, default); + return (false, null, default); } } diff --git a/Program/Services/UserStateService.cs b/Program/Services/UserStateService.cs index 2fc8fdb..717ffad 100644 --- a/Program/Services/UserStateService.cs +++ b/Program/Services/UserStateService.cs @@ -5,7 +5,7 @@ using Microsoft.JSInterop; namespace Front.Program.ViewModels; -public class UserStateService(StorageService _storageService,SecureService _secureService, APIService _APIService, +public class UserStateService(StorageService _storageService, SecureService _secureService, APIService _APIService, IJSRuntime _js) { public UserData UserData { get; set; } = new UserData(); @@ -15,11 +15,11 @@ public class UserStateService(StorageService _storageService,SecureService _secu public Models.SimpleAcademy[] academyItems = Array.Empty(); - public async Task<(bool success, UserData? userData)> GetUserDataFromStorageAsync() + public async Task<(bool success,UserData? userData)> GetUserDataFromStorageAsync() { try { - var encUserData = await _storageService.GetItemAsync("USER_DATA"); + var encUserData = await _storageService.GetItemAsync("UsDt"); if (!string.IsNullOrEmpty(encUserData)) { @@ -46,10 +46,6 @@ public class UserStateService(StorageService _storageService,SecureService _secu } } - public async Task<(bool success, UserData? userData)> GetUserDataFromServerAsync() - { - return await _APIService.GetConnectServerAsnyc("/api/v1/in/user"); - } public async Task GetUserDataAsync() { @@ -101,7 +97,7 @@ public class UserStateService(StorageService _storageService,SecureService _secu { try { - await _storageService.RemoveItemAsync("USER_DATA"); + await _storageService.RemoveItemAsync("UsDt"); await _storageService.RemoveItemAsync("IsLogin"); Console.WriteLine("사용자 데이터 삭제 성공"); isLogin = false; @@ -114,9 +110,20 @@ public class UserStateService(StorageService _storageService,SecureService _secu } } + public async Task<(bool success, UserData? userData)> GetUserDataFromServerAsync() + { + var data = await _APIService.GetConnectServerAsnyc("/api/v1/in/user"); + if (data is { success: true, json: not null }) + await _storageService.SetItemAsync("UsDt", data.json); + return (data.success, data.data); + } + public async Task<(bool success, List? simpleAcademy)> GetAcademy() { - return await _APIService.GetConnectServerAsnyc>("/api/v1/in/user/academy"); + var data = await _APIService.GetConnectServerAsnyc>("/api/v1/in/user/academy"); + if (data is { success: true, json: not null }) + await _storageService.SetItemAsync("UsAcDt", data.json); + return (data.success, data.data); } // // var headerValue = await _storageService.GetItemAsync("Web-AM-Connect-Key"); diff --git a/Program/Views/Academy/AcademyMain.razor b/Program/Views/Academy/AcademyMain.razor index 749e119..9e0bf8f 100644 --- a/Program/Views/Academy/AcademyMain.razor +++ b/Program/Views/Academy/AcademyMain.razor @@ -1,6 +1,2 @@ @page "/am/main"

AcademyMain

- -@code { - -} \ No newline at end of file diff --git a/Program/Views/Academy/LeftSideAcademy.razor b/Program/Views/Academy/Common/LeftSideAcademy.razor similarity index 100% rename from Program/Views/Academy/LeftSideAcademy.razor rename to Program/Views/Academy/Common/LeftSideAcademy.razor diff --git a/Program/Views/Academy/LeftSideAcademy.razor.cs b/Program/Views/Academy/Common/LeftSideAcademy.razor.cs similarity index 67% rename from Program/Views/Academy/LeftSideAcademy.razor.cs rename to Program/Views/Academy/Common/LeftSideAcademy.razor.cs index c8b78ca..93a0ce3 100644 --- a/Program/Views/Academy/LeftSideAcademy.razor.cs +++ b/Program/Views/Academy/Common/LeftSideAcademy.razor.cs @@ -1,6 +1,6 @@ using Microsoft.AspNetCore.Components; -namespace Front.Program.Views.Academy; +namespace Front.Program.Views.Academy.Common; public partial class LeftSideAcademy : ComponentBase { diff --git a/Program/Views/Academy/TopNavAcademy.razor b/Program/Views/Academy/Common/TopNavAcademy.razor similarity index 100% rename from Program/Views/Academy/TopNavAcademy.razor rename to Program/Views/Academy/Common/TopNavAcademy.razor diff --git a/Program/Views/Academy/TopNavAcademy.razor.cs b/Program/Views/Academy/Common/TopNavAcademy.razor.cs similarity index 94% rename from Program/Views/Academy/TopNavAcademy.razor.cs rename to Program/Views/Academy/Common/TopNavAcademy.razor.cs index 5dfce84..f4475ee 100644 --- a/Program/Views/Academy/TopNavAcademy.razor.cs +++ b/Program/Views/Academy/Common/TopNavAcademy.razor.cs @@ -6,7 +6,7 @@ using System.Runtime.InteropServices.JavaScript; using System.Text.Json; using Front.Program.Models; -namespace Front.Program.Views.Academy; +namespace Front.Program.Views.Academy.Common; public partial class TopNavAcademy : ComponentBase {