diff --git a/AcaMate.xcodeproj/project.xcworkspace/xcuserdata/tanine.xcuserdatad/UserInterfaceState.xcuserstate b/AcaMate.xcodeproj/project.xcworkspace/xcuserdata/tanine.xcuserdatad/UserInterfaceState.xcuserstate index a4f7fe0..bcbd1d0 100644 Binary files a/AcaMate.xcodeproj/project.xcworkspace/xcuserdata/tanine.xcuserdatad/UserInterfaceState.xcuserstate and b/AcaMate.xcodeproj/project.xcworkspace/xcuserdata/tanine.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/AcaMate/2. Model/API Response.swift b/AcaMate/2. Model/API Response.swift index 70d64e4..c8ce403 100644 --- a/AcaMate/2. Model/API Response.swift +++ b/AcaMate/2. Model/API Response.swift @@ -62,13 +62,15 @@ enum APICode: Codable, RawRepresentable { } +// /api/v1/in/app ---------------- +class Header: Codable { + let header: String +} // /api/v1/in/app/version ---------------- - class VersionData: Codable { let os_type, final_ver, dev_ver, force_ver: String let choice_update_yn: Bool - } // /api/v1/in/app/retryAccess ---------------- @@ -78,12 +80,9 @@ class Access: Codable { // /api/v1/in/user ---------------- class User: Codable { - let uid, name, type: String - let device_id, push_token: String? + let uid, name, type, login_date: String + let device_id, push_token, birth: String? let auto_login_yn: Bool - let login_date: String - let birth: String? - } // /api/v1/in/user/login ---------------- diff --git a/AcaMate/3. ViewModel/LoginViewModel.swift b/AcaMate/3. ViewModel/LoginViewModel.swift index 1c82f47..de3a22a 100644 --- a/AcaMate/3. ViewModel/LoginViewModel.swift +++ b/AcaMate/3. ViewModel/LoginViewModel.swift @@ -20,6 +20,31 @@ class LoginViewModel: ObservableObject { func USERPAITEST() { @UserDefault(key: "token", defaultValue: "accToken") var accToken @UserDefault(key: "refresh", defaultValue: "refreshToken") var refresh + @UserDefault(key: "header", defaultValue: "headerValue") var headerValue + + // UIDevice의 identifierForVendor를 사용하여 고유 식별자 (UUID)를 문자열로 반환 + guard let deviceId = UIDevice.current.identifierForVendor?.uuidString else { return } + guard let bundleId = Bundle.main.bundleIdentifier else { return } + +// + let request = APIRequest(path: "/api/v1/in/app", + parameters: ["type": "I", "specific": deviceId, "project": bundleId], + decoding: APIResponse
.self) +// + APIManager.shared.loadAPIData(request) + .sink { completion in + switch completion { + case .failure(let error): + printLog("최종 에러: \(error)") + case .finished: + break + } + } receiveValue: { response in +// guard let response = response as? APIResponse
else { return } + printLog(response.data?.header) + } + .store(in: &cancellables) + /* let acc = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJBTVRlc3RFbWFpbDIwMjUwMzE4IiwianRpIjoiMjgwMjIwZDMtYzUwNS00YjFjLTgwMzgtZjBlNGJjYzM4MTE3IiwiZXhwIjoxNzQyMjYzMzgwLCJpc3MiOiJBY2FNYXRlIiwiYXVkIjoiaHR0cHM6L2RldmFjYW1hdGUuaXBzdGVpbi5teWRzLm1lIn0.f6kLKnsWhzlllSuYKxpFNuXuV4vOtJ2ox4IGSnxE67Y" refresh = "MRo+1HIvaPgECXrvwmGvtUpxSk7Pip7KtGSoWDqmjVA=" @@ -41,6 +66,7 @@ class LoginViewModel: ObservableObject { printLog("최종 값 : \(user.name), \(user.birth)") } .store(in: &cancellables) + */ }