diff --git a/AcaMate.xcodeproj/project.xcworkspace/xcuserdata/tanine.xcuserdatad/UserInterfaceState.xcuserstate b/AcaMate.xcodeproj/project.xcworkspace/xcuserdata/tanine.xcuserdatad/UserInterfaceState.xcuserstate index 133d6a6..177637e 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/1. View/11. Intro & Login/RegisterView.swift b/AcaMate/1. View/11. Intro & Login/RegisterView.swift index fa20391..34630ec 100644 --- a/AcaMate/1. View/11. Intro & Login/RegisterView.swift +++ b/AcaMate/1. View/11. Intro & Login/RegisterView.swift @@ -256,7 +256,11 @@ struct RegisterView: View { btnVM.setSize(for: registerVM.registerBtnID, newWidth: .infinity, newHeight: 48) btnVM.setText(for: registerVM.registerBtnID, newText: "회원가입", newFont: .nps(font: .bold, size: 24)) btnVM.setTextColor(for: registerVM.registerBtnID, newColor: Color.Point.dark) - btnVM.setAction(for: registerVM.registerBtnID) { registerVM.registerUser() } + btnVM.setAction(for: registerVM.registerBtnID) { + Task { + await registerVM.registerUser() + } + } dropdownManager.font = .nps(size: 16) diff --git a/AcaMate/3. ViewModel/LoginViewModel.swift b/AcaMate/3. ViewModel/LoginViewModel.swift index 89ed1dd..6f50cef 100644 --- a/AcaMate/3. ViewModel/LoginViewModel.swift +++ b/AcaMate/3. ViewModel/LoginViewModel.swift @@ -58,13 +58,15 @@ class LoginViewModel: ObservableObject { switch response.response.status.code { case .success(let code): if code == "000" { - if let token = response.response.data.toStringDict()["token"], - let refresh = response.response.data.toStringDict()["refresh"] { - printLog(token) + if let data = response.response.data, + let accToken = data.token, + let refresh = data.refresh { + printLog(accToken) printLog(refresh) - self.accToken = token + self.accToken = accToken self.refresh = refresh + appVM.naviState.set(act: .ADD, path: .SelectAcademy) } @@ -75,8 +77,9 @@ class LoginViewModel: ObservableObject { } case .anything(let apiCode): // MARK: TO-DO - // 회원가입 로직 + // 이거도 걍 에러인데? 에러 처리 로직으로 printLog("\(apiCode) : 로그인 정보 없음") + printLog("ERROR") // self.pathName = .Register(type, id: "\(id)") default: // 그외에 서버에서 처리를 하다가 문제가 생겨서 발생하는 에러는 여기로 보낼거임 diff --git a/AcaMate/3. ViewModel/RegisterViewModel.swift b/AcaMate/3. ViewModel/RegisterViewModel.swift index 5069bc6..56aa566 100644 --- a/AcaMate/3. ViewModel/RegisterViewModel.swift +++ b/AcaMate/3. ViewModel/RegisterViewModel.swift @@ -61,11 +61,8 @@ class RegisterViewModel: ObservableObject { "protonmail.com", "직접 입력"] - func registerUser() { + func registerUser() async { // 필수 값 - let birth = "\(selectDate.convertString("yyyy-MM-dd"))" - printLog("\(birth)") - if nameText != "" && emailFrontText != "" && emailTailText != "" && phoneTextSet.0 != "" && phoneTextSet.1 != "" && phoneTextSet.2 != "" { var param: [String:Any] = [:] @@ -73,13 +70,13 @@ class RegisterViewModel: ObservableObject { if changeDate { param["birth"] = "\(selectDate.convertString("yyyy-MM-dd"))"} param["type"] = "UT02" - if let deviceId = UIDevice.current.identifierForVendor?.uuidString, + if let deviceId = await UIDevice.current.identifierForVendor?.uuidString, let bundleId = Bundle.main.bundleIdentifier { param["device_id"] = "\(deviceId)" } param["auto_login_yn"] = false - param["login_date"] = Date() + param["login_date"] = Date().convertString("yyyy-MM-dd'T'HH:mm:ss") param["push_token"] = "\(pushToken)" param["email"] = "\(emailFrontText)@\(emailTailText)" @@ -134,6 +131,7 @@ class RegisterViewModel: ObservableObject { self.appVM.apiManager.loadAPIData( APIRequest(path: "/api/v1/in/user/register", + method: .post, headers: [API_HEADER : self.headerValue], parameters: param, decoding: APIResponse.self) @@ -155,7 +153,8 @@ class RegisterViewModel: ObservableObject { if let data = response.data, let accToken = data.token, let refresh = data.refresh{ self.accToken = accToken self.refresh = refresh - appVM.naviState.set(act: .RESET, path: .Main) + + appVM.naviState.set(act: .ADD, path: .SelectAcademy) } } default: