diff --git a/AcaMate.xcodeproj/project.xcworkspace/xcuserdata/tanine.xcuserdatad/UserInterfaceState.xcuserstate b/AcaMate.xcodeproj/project.xcworkspace/xcuserdata/tanine.xcuserdatad/UserInterfaceState.xcuserstate index fe267db..902a2f1 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/10. Common/NavigationView.swift b/AcaMate/1. View/10. Common/NavigationView.swift index 640b49c..af74041 100644 --- a/AcaMate/1. View/10. Common/NavigationView.swift +++ b/AcaMate/1. View/10. Common/NavigationView.swift @@ -27,8 +27,8 @@ struct NavigationView: View { LoginView() case .Register(let type, let id): RegisterView(type: type, snsID: id) - case .SelectAcademy(let bids): - SelectAcademyView(bids: bids) + case .SelectAcademy: + SelectAcademyView() case .Main: MainView() case .ChatRoom(let id): diff --git a/AcaMate/1. View/11. Intro & Login/LoginView.swift b/AcaMate/1. View/11. Intro & Login/LoginView.swift index a7c2941..c749365 100644 --- a/AcaMate/1. View/11. Intro & Login/LoginView.swift +++ b/AcaMate/1. View/11. Intro & Login/LoginView.swift @@ -36,7 +36,7 @@ struct LoginView: View { // MARK: - TODO, 애플 계정 로그인 구현 // appVM.naviState.set(act: .ADD, path: .SelectAcademy(bids: ["AA0000", "AA0001"])) loginVM.toggleLoading = true - loginVM.loginTest(type: .Apple, id: "12345678") + loginVM.loginTest(type: .Kakao, id: "TestSNSID1") } label: { makeButton(image: Image(.Logo.appleIcon), color: Color(.Text.black), "애플 계정으로 시작하기") diff --git a/AcaMate/1. View/11. Intro & Login/SelectAcademyView.swift b/AcaMate/1. View/11. Intro & Login/SelectAcademyView.swift index 861a7b6..a1c8eec 100644 --- a/AcaMate/1. View/11. Intro & Login/SelectAcademyView.swift +++ b/AcaMate/1. View/11. Intro & Login/SelectAcademyView.swift @@ -12,8 +12,7 @@ struct SelectAcademyView: View { @StateObject var saVM = SelectAcademyViewModel() @State private var scrollOffset: CGPoint = .zero - - var bids: [String] + var body: some View { VStack(spacing: 0) { @@ -84,7 +83,7 @@ struct SelectAcademyView: View { } .onAppear { - saVM.loadAcademy(bids: bids) + saVM.loadAcademy() } } } diff --git a/AcaMate/1. View/12. Main/122. Management/ManagementView.swift b/AcaMate/1. View/12. Main/123. Chatting/ManagementView.swift similarity index 100% rename from AcaMate/1. View/12. Main/122. Management/ManagementView.swift rename to AcaMate/1. View/12. Main/123. Chatting/ManagementView.swift diff --git a/AcaMate/2. Model/API Response.swift b/AcaMate/2. Model/API Response.swift index 7b93331..d1b0add 100644 --- a/AcaMate/2. Model/API Response.swift +++ b/AcaMate/2. Model/API Response.swift @@ -73,9 +73,10 @@ class VersionData: Codable { // /api/v1/in/user/login ---------------- -class User_Academy: Codable { - let uid: String - let bid: [String] +class User_Token: Codable { + let token: String + let refresh: String +// let bids: [String] } // /api/v1/in/member/academy ---------------- diff --git a/AcaMate/2. Model/Navigation.swift b/AcaMate/2. Model/Navigation.swift index aa6735a..1d2fa03 100644 --- a/AcaMate/2. Model/Navigation.swift +++ b/AcaMate/2. Model/Navigation.swift @@ -43,7 +43,7 @@ enum PathName: Hashable { case Intro case Login case Register(_ type: SNSLoginType, id: String) - case SelectAcademy(bids: [String]) + case SelectAcademy case Main case ChatRoom(id: String) case NONE diff --git a/AcaMate/3. ViewModel/LoginViewModel.swift b/AcaMate/3. ViewModel/LoginViewModel.swift index 4f7ee4e..17d7d0e 100644 --- a/AcaMate/3. ViewModel/LoginViewModel.swift +++ b/AcaMate/3. ViewModel/LoginViewModel.swift @@ -24,7 +24,7 @@ class LoginViewModel: ObservableObject { "acctype": "\(type == .Apple ? "ST00": "ST01")", "sns_id": "\(id)" ], - decodingType: APIResponse.self) + decodingType: APIResponse.self) .sink { [weak self] completion in // API 자체적으로 내보내는 에러는 여기서 거를거고 switch completion { @@ -36,16 +36,19 @@ class LoginViewModel: ObservableObject { } } receiveValue: { [weak self] response in guard let self = self else { return } - guard let userAcademy = response as? APIResponse else {return} - switch userAcademy.status.code { + guard let userToken = response as? APIResponse else {return} + switch userToken.status.code { case .success: - if let bids = userAcademy.data.toStringDict()["bid"] { - printLog(bids) - if let bidArray: [String] = jsonToSwift(bids) { - self.pathName = .SelectAcademy(bids: bidArray) - } else { - printLog("JSON 변환 실패") - } + @UserDefault(key: "token", defaultValue: "accToken") var accToken + @UserDefault(key: "refresh", defaultValue: "arefreshToken") var refreshToken + + if let token = userToken.data.toStringDict()["token"], + let refresh = userToken.data.toStringDict()["refresh"] { + printLog(token) + printLog(refresh) + accToken = token + refreshToken = refresh + self.pathName = .SelectAcademy } case .anything(let apiCode): // MARK: TO-DO @@ -69,7 +72,7 @@ class LoginViewModel: ObservableObject { "acctype": "\(type == .Apple ? "ST00": "ST01")", "sns_id": "\(snsId.snsId)" ], - decodingType: APIResponse.self) + decodingType: APIResponse.self) } .sink { [weak self] completion in @@ -82,11 +85,11 @@ class LoginViewModel: ObservableObject { } } receiveValue: { [weak self] response in guard let self = self else { return } - guard let userAcademy = response as? APIResponse else {return} + guard let userAcademy = response as? APIResponse else {return} if let bids = userAcademy.data.toStringDict()["bid"] { printLog(bids) if let bidArray: [String] = jsonToSwift(bids) { - self.pathName = .SelectAcademy(bids: bidArray) + self.pathName = .SelectAcademy } else { printLog("JSON 변환 실패") } diff --git a/AcaMate/3. ViewModel/SelectAcademyViewModel.swift b/AcaMate/3. ViewModel/SelectAcademyViewModel.swift index 8d50b13..b3b7659 100644 --- a/AcaMate/3. ViewModel/SelectAcademyViewModel.swift +++ b/AcaMate/3. ViewModel/SelectAcademyViewModel.swift @@ -15,11 +15,13 @@ class SelectAcademyViewModel: ObservableObject { @Published var academyList: [AcademyName] = [] @Published var selectNum: Int = -1 - func loadAcademy(bids: [String]) { + func loadAcademy() { + @UserDefault(key: "token", defaultValue: "accToken") var token + @UserDefault(key: "refresh", defaultValue: "arefreshToken") var refresh loadAPIData(url: "\(API_URL)", path: "/api/v1/in/user/academy", - method: .post, - parameters: ["bids": bids], + method: .get, + parameters: ["token": token, "refresh": refresh], decodingType: APIResponse<[AcademyName]>.self) .sink { completion in switch completion {