From c915aa582e34dfcb897f05d4cae3cd393b50e274 Mon Sep 17 00:00:00 2001 From: MinjaeLee <2alswo7@khu.ac.kr> Date: Tue, 21 Dec 2021 19:11:55 +0900 Subject: [PATCH 01/19] =?UTF-8?q?[FEAT]=20#184=20-=20=EB=A9=94=EC=9D=B8=20?= =?UTF-8?q?=EB=B7=B0=20=EC=84=9C=EB=B2=84=EC=97=B0=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../NetworkService/Card/CardService.swift | 2 +- .../Main/FrontViewController.swift | 89 ++++++++++--------- 2 files changed, 47 insertions(+), 44 deletions(-) diff --git a/NADA-iOS-forRelease/Sources/NetworkService/Card/CardService.swift b/NADA-iOS-forRelease/Sources/NetworkService/Card/CardService.swift index 1b55bc4c..16285fc2 100644 --- a/NADA-iOS-forRelease/Sources/NetworkService/Card/CardService.swift +++ b/NADA-iOS-forRelease/Sources/NetworkService/Card/CardService.swift @@ -110,7 +110,7 @@ extension CardService: TargetType { var headers: [String: String]? { switch self { case .cardDetailFetch, .cardListFetch, .cardDelete: - return .none + return Const.Header.basicHeader case .cardCreation: return Const.Header.basicHeader case .cardListEdit: diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift index b91e6cb5..68582091 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift @@ -13,40 +13,40 @@ class FrontViewController: UIViewController { // MARK: - Properteis - var cardDataList: [Card]? = [Card(cardID: "card", - background: "card", - title: "SOPT 명함", - name: "이채연", - birthDate: "1998.01.09 (24)", - mbti: "ENFP", - instagram: "chaens_", - link: "https://github.com/TeamNADAgithub.com/TeamNADAgithub.com/TeamNADAgithub.com/TeamNADAgithub.com/TeamNADA", - cardDescription: "29기 디자인파트", - isMincho: true, - isSoju: true, - isBoomuk: true, - isSauced: true, - oneTMI: "첫번째", - twoTMI: "두번째", - thirdTMI: "세번째세번째세번째"), - Card(cardID: "card", - background: "card", - title: "SOPT 명함", - name: "이채연", - birthDate: "1998.01.09 (24)", - mbti: "ENFP", - instagram: "minimin.0_0", - link: "https://www.naver.com", - cardDescription: "29기 디자인파트", - isMincho: true, - isSoju: true, - isBoomuk: true, - isSauced: true, - oneTMI: "첫번째", - twoTMI: "두번째", - thirdTMI: "세번째세번째세번째")] +// var cardDataList: [Card]? = [Card(cardID: "card", +// background: "card", +// title: "SOPT 명함", +// name: "이채연", +// birthDate: "1998.01.09 (24)", +// mbti: "ENFP", +// instagram: "chaens_", +// link: "https://github.com/TeamNADAgithub.com/TeamNADAgithub.com/TeamNADAgithub.com/TeamNADAgithub.com/TeamNADA", +// cardDescription: "29기 디자인파트", +// isMincho: true, +// isSoju: true, +// isBoomuk: true, +// isSauced: true, +// oneTMI: "첫번째", +// twoTMI: "두번째", +// thirdTMI: "세번째세번째세번째"), +// Card(cardID: "card", +// background: "card", +// title: "SOPT 명함", +// name: "이채연", +// birthDate: "1998.01.09 (24)", +// mbti: "ENFP", +// instagram: "minimin.0_0", +// link: "https://www.naver.com", +// cardDescription: "29기 디자인파트", +// isMincho: true, +// isSoju: true, +// isBoomuk: true, +// isSauced: true, +// oneTMI: "첫번째", +// twoTMI: "두번째", +// thirdTMI: "세번째세번째세번째")] - // var cardDataList: [Card]? = [] + var cardDataList: [Card] = [] // MARK: - @IBOutlet Properties @IBOutlet weak var cardSwiper: VerticalCardSwiper! @@ -57,8 +57,7 @@ class FrontViewController: UIViewController { // setCardDataModelList() setDelegate() - // TODO: - 서버 테스트 -// cardListFetchWithAPI(userID: "nada", isList: false, offset: 0) + setMain() } // MARK: - @IBAction Properties @@ -82,9 +81,6 @@ class FrontViewController: UIViewController { // MARK: - Extensions extension FrontViewController { - private func setUI() { - - } private func setDelegate() { cardSwiper.delegate = self cardSwiper.datasource = self @@ -95,6 +91,11 @@ extension FrontViewController { cardSwiper.register(nib: EmptyCardCell.nib(), forCellWithReuseIdentifier: Const.Xib.emptyCardCell) } + private func setMain() { + if let userID = UserDefaults.standard.string(forKey: Const.UserDefaults.userID) { + cardListFetchWithAPI(userID: "nada2", isList: false, offset: 0) + } + } // private func setCardDataModelList() { // cardDataList?.append(contentsOf: [ // Card(cardID: "card", @@ -143,14 +144,14 @@ extension FrontViewController: VerticalCardSwiperDelegate { // MARK: - VerticalCardSwiperDatasource extension FrontViewController: VerticalCardSwiperDatasource { func numberOfCards(verticalCardSwiperView: VerticalCardSwiperView) -> Int { - guard let count = cardDataList?.count else { return 0 } + let count = cardDataList.count return count == 0 ? 1 : count } func cardForItemAt(verticalCardSwiperView: VerticalCardSwiperView, cardForItemAt index: Int) -> CardCell { - if cardDataList?.count != 0 { + if cardDataList.count != 0 { guard let cell = verticalCardSwiperView.dequeueReusableCell(withReuseIdentifier: Const.Xib.mainCardCell, for: index) as? MainCardCell else { return CardCell() } - guard let cardDataList = cardDataList else { return CardCell() } + let cardDataList = cardDataList cell.initCell(cardDataModel: cardDataList[index]) cell.isShareable = true cell.setFrontCard() @@ -169,8 +170,10 @@ extension FrontViewController { CardAPI.shared.cardListFetch(userID: userID, isList: isList, offset: offset) { response in switch response { case .success(let data): - if let card = data as? CardListRequest { - print(card) + if let card = data as? CardListLookUpRequest { + print(card.cards, "⭐️") + self.cardDataList = card.cards + self.cardSwiper.reloadData() } case .requestErr(let message): print("cardListFetchWithAPI - requestErr: \(message)") From 95a4a7c240667b9eeea547c68505388f36d0b2b1 Mon Sep 17 00:00:00 2001 From: MinjaeLee <2alswo7@khu.ac.kr> Date: Tue, 21 Dec 2021 20:53:56 +0900 Subject: [PATCH 02/19] =?UTF-8?q?[FEAT]=20#184=20-=20=EC=B9=B4=EB=93=9C=20?= =?UTF-8?q?=EB=A6=AC=EC=8A=A4=ED=8A=B8=EC=9A=A9=20=EB=AA=A8=EB=8D=B8=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../NetworkModel/Card/CardListRequest.swift | 4 +-- .../Sources/NetworkService/Card/CardAPI.swift | 2 +- .../CardList/CardListViewController.swift | 28 ++++++++++--------- .../Main/FrontViewController.swift | 4 ++- 4 files changed, 21 insertions(+), 17 deletions(-) diff --git a/NADA-iOS-forRelease/Sources/NetworkModel/Card/CardListRequest.swift b/NADA-iOS-forRelease/Sources/NetworkModel/Card/CardListRequest.swift index 0140df93..bc80f6fc 100644 --- a/NADA-iOS-forRelease/Sources/NetworkModel/Card/CardListRequest.swift +++ b/NADA-iOS-forRelease/Sources/NetworkModel/Card/CardListRequest.swift @@ -9,10 +9,10 @@ import Foundation // MARK: - CardList struct CardListRequest: Codable { - let cardID, title, createDate: String + let cardID, title: String enum CodingKeys: String, CodingKey { case cardID = "cardId" - case title, createDate + case title } } diff --git a/NADA-iOS-forRelease/Sources/NetworkService/Card/CardAPI.swift b/NADA-iOS-forRelease/Sources/NetworkService/Card/CardAPI.swift index 0f3c75bf..b65d8de9 100644 --- a/NADA-iOS-forRelease/Sources/NetworkService/Card/CardAPI.swift +++ b/NADA-iOS-forRelease/Sources/NetworkService/Card/CardAPI.swift @@ -47,7 +47,7 @@ public class CardAPI { } } - func cardListFetch(userID: String, isList: Bool, offset: Int, completion: @escaping (NetworkResult) -> Void) { + func cardListFetch(userID: String, isList: Bool, offset: Int?, completion: @escaping (NetworkResult) -> Void) { cardProvider.request(.cardListFetch(userID: userID, isList: isList, offset: offset)) { (result) in switch result { case .success(let response): diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift index 7c192679..5fa017b8 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift @@ -12,7 +12,7 @@ import KakaoSDKCommon class CardListViewController: UIViewController { // MARK: - Properties - var cardItems: [CardListDataModel] = [] + var cardItems: [CardListRequest] = [] // MARK: - IBOutlet Properties @IBOutlet weak var cardListTableView: UITableView! @@ -32,7 +32,7 @@ class CardListViewController: UIViewController { cardListTableView.dataSource = self // FIXME: - 카드 리스트 조회 서버 테스트 -// cardListFetchWithAPI(userID: "nada", isList: true, offset: 0) + cardListFetchWithAPI(userID: "nada", isList: true) } override func viewWillAppear(_ animated: Bool) { @@ -48,14 +48,15 @@ class CardListViewController: UIViewController { // MARK: - Functions func setCardList() { - cardItems.append(contentsOf: [ - CardListDataModel(title: "SOPT 28기 명함"), - CardListDataModel(title: "디자인 스터디 명함"), - CardListDataModel(title: "아이스브레이킹"), - CardListDataModel(title: "NADA 명함"), - CardListDataModel(title: "NADA 명함"), - CardListDataModel(title: "NADA 명함") - ]) +// cardItems.append(contentsOf: [ +// CardListDataModel(title: "SOPT 28기 명함"), +// CardListDataModel(title: "디자인 스터디 명함"), +// CardListDataModel(title: "아이스브레이킹"), +// CardListDataModel(title: "NADA 명함"), +// CardListDataModel(title: "NADA 명함"), +// CardListDataModel(title: "NADA 명함") +// ]) + } func setLongPressGesture() { @@ -154,12 +155,13 @@ extension CardListViewController: UITableViewDataSource { // MARK: - Network extension CardListViewController { - func cardListFetchWithAPI(userID: String, isList: Bool, offset: Int) { - CardAPI.shared.cardListFetch(userID: userID, isList: isList, offset: offset) { response in + func cardListFetchWithAPI(userID: String, isList: Bool) { + CardAPI.shared.cardListFetch(userID: userID, isList: isList, offset: nil) { response in switch response { case .success(let data): + print(data, "⭐️") if let card = data as? CardListRequest { - print(card) + } case .requestErr(let message): print("getCardListFetchWithAPI - requestErr", message) diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift index 68582091..9f72361d 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift @@ -54,9 +54,11 @@ class FrontViewController: UIViewController { // MARK: - View Life Cycle override func viewDidLoad() { super.viewDidLoad() - // setCardDataModelList() setDelegate() + } + + override func viewWillAppear(_ animated: Bool) { setMain() } From 68eab899dbdaac8d90641fbbf07fdbc35eb28622 Mon Sep 17 00:00:00 2001 From: MinjaeLee <2alswo7@khu.ac.kr> Date: Tue, 21 Dec 2021 22:13:19 +0900 Subject: [PATCH 03/19] =?UTF-8?q?[FEAT]=20#184=20-=20=EC=B9=B4=EB=93=9C=20?= =?UTF-8?q?=EB=A6=AC=EC=8A=A4=ED=8A=B8=20=ED=95=80=20=EB=90=98=EC=96=B4?= =?UTF-8?q?=EC=9E=88=EB=8A=94=20=EB=AA=85=ED=95=A8=EC=9D=80=20=EC=8A=A4?= =?UTF-8?q?=EC=99=80=EC=9D=B4=ED=94=84=20=EB=B6=88=EA=B0=80=EB=8A=A5?= =?UTF-8?q?=ED=95=98=EB=8F=84=EB=A1=9D=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CardList/CardListViewController.swift | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift index 5fa017b8..ce0c8e92 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift @@ -110,20 +110,24 @@ extension CardListViewController: UITableViewDelegate { // Swipe Action func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? { - let deleteAction = UIContextualAction(style: .normal, title: "삭제", handler: { (_ action, _ view, _ success) in - self.makeCancelDeleteAlert(title: "명함 삭제", message: "명함을 정말 삭제하시겠습니까?\n공유된 명함일 경우, 친구의 명함 모음에서도 해당 명함이 삭제됩니다.", cancelAction: { _ in - // 취소 눌렀을 때 액션이 들어갈 부분 - }, deleteAction: { _ in - // FIXME: - 카드 삭제 서버 테스트 - // self.deleteCardWithAPI(cardID: "cardA") + if indexPath.row == 0 { + return nil + } else { + let deleteAction = UIContextualAction(style: .normal, title: "삭제", handler: { (_ action, _ view, _ success) in + self.makeCancelDeleteAlert(title: "명함 삭제", message: "명함을 정말 삭제하시겠습니까?\n공유된 명함일 경우, 친구의 명함 모음에서도 해당 명함이 삭제됩니다.", cancelAction: { _ in + // 취소 눌렀을 때 액션이 들어갈 부분 + }, deleteAction: { _ in + // FIXME: - 카드 삭제 서버 테스트 + // self.deleteCardWithAPI(cardID: "cardA") + }) }) - }) - deleteAction.backgroundColor = .red - - let swipeActions = UISwipeActionsConfiguration(actions: [deleteAction]) - swipeActions.performsFirstActionWithFullSwipe = false - - return swipeActions + deleteAction.backgroundColor = .red + + let swipeActions = UISwipeActionsConfiguration(actions: [deleteAction]) + swipeActions.performsFirstActionWithFullSwipe = false + + return swipeActions + } } } From 86da01d3a1899522b42329bb1956d17675efbd46 Mon Sep 17 00:00:00 2001 From: MinjaeLee <2alswo7@khu.ac.kr> Date: Wed, 22 Dec 2021 00:15:27 +0900 Subject: [PATCH 04/19] =?UTF-8?q?[FIX]=20#184=20-=20=EB=A1=9C=EA=B7=B8?= =?UTF-8?q?=EC=95=84=EC=9B=83,=20=EC=82=AD=EC=A0=9C=ED=95=98=EA=B8=B0=20ro?= =?UTF-8?q?otVC=20=EC=88=98=EC=A0=95=ED=95=98=EB=8F=84=EB=A1=9D=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UIViewController+Extension.swift | 28 +++++++++++++------ .../Sources/Cells/CardCell/BackCardCell.swift | 5 ++-- .../Cells/CardCell/FrontCardCell.swift | 5 ++-- .../NetworkService/Card/CardService.swift | 2 +- .../More/MoreViewController.swift | 4 +-- 5 files changed, 28 insertions(+), 16 deletions(-) diff --git a/NADA-iOS-forRelease/Resouces/Extensions/UIViewController+Extension.swift b/NADA-iOS-forRelease/Resouces/Extensions/UIViewController+Extension.swift index 58236a0f..bab827f9 100644 --- a/NADA-iOS-forRelease/Resouces/Extensions/UIViewController+Extension.swift +++ b/NADA-iOS-forRelease/Resouces/Extensions/UIViewController+Extension.swift @@ -70,20 +70,20 @@ extension UIViewController { switch view { case "QRScan": toastLabel = UILabel(frame: CGRect(x: self.view.frame.size.width/2 - 85, - y: self.view.frame.size.height - 230, - width: 170, height: 35)) + y: self.view.frame.size.height - 230, + width: 170, height: 35)) case "copyID": toastLabel = UILabel(frame: CGRect(x: self.view.frame.size.width/2 - 100, - y: self.view.frame.size.height/2, - width: 200, height: 35)) + y: self.view.frame.size.height/2, + width: 200, height: 35)) case "saveImage": toastLabel = UILabel(frame: CGRect(x: self.view.frame.size.width/2 - 85, - y: self.view.frame.size.height/2, - width: 170, height: 35)) + y: self.view.frame.size.height/2, + width: 170, height: 35)) default: toastLabel = UILabel(frame: CGRect(x: self.view.frame.size.width/2 - 85, - y: self.view.frame.size.height - 230, - width: 170, height: 35)) + y: self.view.frame.size.height - 230, + width: 170, height: 35)) } toastLabel.backgroundColor = UIColor.black.withAlphaComponent(0.6) @@ -99,4 +99,16 @@ extension UIViewController { options: .curveEaseOut, animations: { toastLabel.alpha = 0.0 }, completion: {_ in toastLabel.removeFromSuperview() }) } + + // MARK: UIWindow의 rootViewController를 변경하여 화면전환 + func changeRootViewController(_ viewControllerToPresent: UIViewController) { + if let window = UIApplication.shared.windows.first { + window.rootViewController = viewControllerToPresent + UIView.transition(with: window, duration: 0.5, options: .transitionCrossDissolve, animations: nil) + } else { + viewControllerToPresent.modalPresentationStyle = .overFullScreen + self.present(viewControllerToPresent, animated: true, completion: nil) + } + } + } diff --git a/NADA-iOS-forRelease/Sources/Cells/CardCell/BackCardCell.swift b/NADA-iOS-forRelease/Sources/Cells/CardCell/BackCardCell.swift index becfdb9a..6a4e1596 100644 --- a/NADA-iOS-forRelease/Sources/Cells/CardCell/BackCardCell.swift +++ b/NADA-iOS-forRelease/Sources/Cells/CardCell/BackCardCell.swift @@ -67,10 +67,9 @@ extension BackCardCell { _ secondTMI: String, _ thirdTMI: String, isShareable: Bool) { - if let bgImage = UIImage(named: backgroundImageString) { - self.backgroundImageView.image = bgImage + if let url = URL(string: backgroundImageString) { + backgroundImageView.kf.setImage(with: url) } - mintImageView.image = isMint == true ? UIImage(named: "iconTasteOnMincho") : UIImage(named: "iconTasteOffMincho") noMintImageView.image = isMint == false ? diff --git a/NADA-iOS-forRelease/Sources/Cells/CardCell/FrontCardCell.swift b/NADA-iOS-forRelease/Sources/Cells/CardCell/FrontCardCell.swift index dbc2812b..b4323489 100644 --- a/NADA-iOS-forRelease/Sources/Cells/CardCell/FrontCardCell.swift +++ b/NADA-iOS-forRelease/Sources/Cells/CardCell/FrontCardCell.swift @@ -7,6 +7,7 @@ import UIKit import VerticalCardSwiper +import Kingfisher class FrontCardCell: CardCell { @@ -113,8 +114,8 @@ extension FrontCardCell { _ instagramID: String, _ linkURL: String, isShareable: Bool) { - if let bgImage = UIImage(named: backgroundImage) { - self.backgroundImageView.image = bgImage + if let url = URL(string: backgroundImage) { + backgroundImageView.kf.setImage(with: url) } titleLabel.text = cardTitle descriptionLabel.text = cardDescription diff --git a/NADA-iOS-forRelease/Sources/NetworkService/Card/CardService.swift b/NADA-iOS-forRelease/Sources/NetworkService/Card/CardService.swift index 16285fc2..bbbdb8d0 100644 --- a/NADA-iOS-forRelease/Sources/NetworkService/Card/CardService.swift +++ b/NADA-iOS-forRelease/Sources/NetworkService/Card/CardService.swift @@ -110,7 +110,7 @@ extension CardService: TargetType { var headers: [String: String]? { switch self { case .cardDetailFetch, .cardListFetch, .cardDelete: - return Const.Header.basicHeader + return Const.Header.bearerHeader case .cardCreation: return Const.Header.basicHeader case .cardListEdit: diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/More/MoreViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/More/MoreViewController.swift index 226dd060..daede587 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/More/MoreViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/More/MoreViewController.swift @@ -116,7 +116,7 @@ extension MoreViewController { self.defaults.removeObject(forKey: Const.UserDefaults.darkModeState) let nextVC = UIStoryboard(name: Const.Storyboard.Name.login, bundle: nil).instantiateViewController(withIdentifier: Const.ViewController.Identifier.loginViewController) nextVC.modalPresentationStyle = .overFullScreen - self.present(nextVC, animated: true, completion: nil) + self.navigationController?.changeRootViewController(nextVC) } } }) @@ -150,7 +150,7 @@ extension MoreViewController { self.defaults.removeObject(forKey: Const.UserDefaults.darkModeState) let nextVC = UIStoryboard(name: Const.Storyboard.Name.login, bundle: nil).instantiateViewController(withIdentifier: Const.ViewController.Identifier.loginViewController) nextVC.modalPresentationStyle = .overFullScreen - self.present(nextVC, animated: true, completion: nil) + self.navigationController?.changeRootViewController(nextVC) } } } From 4aaf176c102d230ed0594b95fccaaaf9c367af53 Mon Sep 17 00:00:00 2001 From: MinjaeLee <2alswo7@khu.ac.kr> Date: Wed, 22 Dec 2021 20:02:26 +0900 Subject: [PATCH 05/19] =?UTF-8?q?[FEAT]=20#184=20-=20=EB=A6=AC=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=20=EC=84=9C=EB=B2=84=20=EC=A4=91=EA=B0=84=EC=9E=91?= =?UTF-8?q?=EC=97=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Sources/NetworkService/User/UserAPI.swift | 24 ++++++- .../NetworkService/User/UserSevice.swift | 6 +- .../Group/GroupViewController.swift | 2 +- .../Login/LoginViewController.swift | 17 ----- .../Main/FrontViewController.swift | 66 +++++++++---------- .../Splash/SplashViewController.swift | 23 +++++++ 6 files changed, 82 insertions(+), 56 deletions(-) diff --git a/NADA-iOS-forRelease/Sources/NetworkService/User/UserAPI.swift b/NADA-iOS-forRelease/Sources/NetworkService/User/UserAPI.swift index 54d52764..f8bc04e6 100644 --- a/NADA-iOS-forRelease/Sources/NetworkService/User/UserAPI.swift +++ b/NADA-iOS-forRelease/Sources/NetworkService/User/UserAPI.swift @@ -110,14 +110,14 @@ public class UserAPI { } } - func userTokenReissue(request: UserWithTokenRequest, completion: @escaping (NetworkResult) -> Void) { + func userTokenReissue(request: UserTokenReissueRequset, completion: @escaping (NetworkResult) -> Void) { userProvider.request(.userTokenReissue(request: request)) { (result) in switch result { case .success(let response): let statusCode = response.statusCode let data = response.data - let networkResult = self.judgeStatus(by: statusCode, data) + let networkResult = self.judgeUserTokenReissueStatus(by: statusCode, data) completion(networkResult) case .failure(let err): @@ -166,6 +166,26 @@ public class UserAPI { } } + private func judgeUserTokenReissueStatus(by statusCode: Int, _ data: Data) -> NetworkResult { + + let decoder = JSONDecoder() + guard let decodedData = try? decoder.decode(GenericResponse.self, from: data) + else { + return .pathErr + } + + switch statusCode { + case 200: + return .success(decodedData.data ?? "None-Data") + case 400..<500: + return .requestErr(decodedData.msg) + case 500: + return .serverErr + default: + return .networkFail + } + } + private func judgeStatus(by statusCode: Int, _ data: Data) -> NetworkResult { let decoder = JSONDecoder() guard let decodedData = try? decoder.decode(GenericResponse.self, from: data) diff --git a/NADA-iOS-forRelease/Sources/NetworkService/User/UserSevice.swift b/NADA-iOS-forRelease/Sources/NetworkService/User/UserSevice.swift index 460a4714..4b64bc8a 100644 --- a/NADA-iOS-forRelease/Sources/NetworkService/User/UserSevice.swift +++ b/NADA-iOS-forRelease/Sources/NetworkService/User/UserSevice.swift @@ -15,7 +15,7 @@ enum UserSevice { case userDelete(token: String) case userSocialSignUp(userID: String) case userLogout(token: String) - case userTokenReissue(request: UserWithTokenRequest) + case userTokenReissue(request: UserTokenReissueRequset) } extension UserSevice: TargetType { @@ -73,9 +73,9 @@ extension UserSevice: TargetType { var headers: [String: String]? { switch self { - case .userIDFetch, .userTokenFetch, .userTokenReissue: + case .userIDFetch, .userTokenFetch: return Const.Header.bearerHeader - case .userSignUp, .userSocialSignUp: + case .userSignUp, .userSocialSignUp, .userTokenReissue: return ["Content-Type": "application/json"] case .userDelete(let token): return ["Content-Type": "application/json", "Authorization": "Bearer " + token] diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/Group/GroupViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/Group/GroupViewController.swift index bf726bf6..f0d711f8 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/Group/GroupViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/Group/GroupViewController.swift @@ -70,7 +70,7 @@ class GroupViewController: UIViewController { registerCell() setUI() // 그룹 리스트 조회 서버 테스트 - groupListFetchWithAPI(userID: "nada") + groupListFetchWithAPI(userID: "nada2") // 그룹 삭제 서버 테스트 // groupDeleteWithAPI(groupID: 1) // 그룹 추가 서버 테스트 diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/Login/LoginViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/Login/LoginViewController.swift index 2e423238..217bc985 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/Login/LoginViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/Login/LoginViewController.swift @@ -226,21 +226,4 @@ extension LoginViewController { } } - func postUserTokenReissue(request: UserWithTokenRequest) { - UserAPI.shared.userTokenReissue(request: request) { response in - switch response { - case .success(let data): - print("postUserTokenReissue - Success") - case .requestErr(let message): - print("postUserTokenReissue - requestErr: \(message)") - case .pathErr: - print("postUserTokenReissue - pathErr") - case .serverErr: - print("postUserTokenReissue - serverErr") - case .networkFail: - print("postUserTokenReissue - networkFail") - } - } - } - } diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift index 73462438..562d092f 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift @@ -13,40 +13,40 @@ class FrontViewController: UIViewController { // MARK: - Properteis -// var cardDataList: [Card]? = [Card(cardID: "card", -// background: "card", -// title: "SOPT 명함", -// name: "이채연", -// birthDate: "1998.01.09 (24)", -// mbti: "ENFP", -// instagram: "chaens_", -// link: "https://github.com/TeamNADAgithub.com/TeamNADAgithub.com/TeamNADAgithub.com/TeamNADAgithub.com/TeamNADA", -// cardDescription: "29기 디자인파트", -// isMincho: true, -// isSoju: true, -// isBoomuk: true, -// isSauced: true, -// oneTMI: "첫번째", -// twoTMI: "두번째", -// thirdTMI: "세번째세번째세번째"), -// Card(cardID: "card", -// background: "card", -// title: "SOPT 명함", -// name: "이채연", -// birthDate: "1998.01.09 (24)", -// mbti: "ENFP", -// instagram: "minimin.0_0", -// link: "https://www.naver.com", -// cardDescription: "29기 디자인파트", -// isMincho: true, -// isSoju: true, -// isBoomuk: true, -// isSauced: true, -// oneTMI: "첫번째", -// twoTMI: "두번째", -// thirdTMI: "세번째세번째세번째")] + var cardDataList: [Card] = [Card(cardID: "card", + background: "card", + title: "SOPT 명함", + name: "이채연", + birthDate: "1998.01.09 (24)", + mbti: "ENFP", + instagram: "chaens_", + link: "https://github.com/TeamNADAgithub.com/TeamNADAgithub.com/TeamNADAgithub.com/TeamNADAgithub.com/TeamNADA", + cardDescription: "29기 디자인파트", + isMincho: true, + isSoju: true, + isBoomuk: true, + isSauced: true, + oneTmi: "첫번째", + twoTmi: "두번째", + threeTmi: "세번째세번째세번째"), + Card(cardID: "card", + background: "card", + title: "SOPT 명함", + name: "이채연", + birthDate: "1998.01.09 (24)", + mbti: "ENFP", + instagram: "minimin.0_0", + link: "https://www.naver.com", + cardDescription: "29기 디자인파트", + isMincho: true, + isSoju: true, + isBoomuk: true, + isSauced: true, + oneTmi: "첫번째", + twoTmi: "두번째", + threeTmi: "세번째세번째세번째")] - var cardDataList: [Card] = [] + // var cardDataList: [Card] = [] // MARK: - @IBOutlet Properties @IBOutlet weak var cardSwiper: VerticalCardSwiper! diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/Splash/SplashViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/Splash/SplashViewController.swift index 91d5978b..8c2286db 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/Splash/SplashViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/Splash/SplashViewController.swift @@ -19,6 +19,7 @@ class SplashViewController: UIViewController { super.viewDidLoad() // Do any additional setup after loading the view. + postUserTokenReissue(request: UserTokenReissueRequset(accessToken: UserDefaults.standard.string(forKey: Const.UserDefaults.accessToken)!, refreshToken: UserDefaults.standard.string(forKey: Const.UserDefaults.refreshToken)!)) } // MARK: - Functions @@ -37,3 +38,25 @@ class SplashViewController: UIViewController { } } + +// MARK: - Networks +extension SplashViewController { + + func postUserTokenReissue(request: UserTokenReissueRequset) { + UserAPI.shared.userTokenReissue(request: request) { response in + switch response { + case .success: + print("postUserTokenReissue - Success") + case .requestErr(let message): + print("postUserTokenReissue - requestErr: \(message)") + self.presentToLogin() + case .pathErr: + print("postUserTokenReissue - pathErr") + case .serverErr: + print("postUserTokenReissue - serverErr") + case .networkFail: + print("postUserTokenReissue - networkFail") + } + } + } +} From 0c0fa121a179235621efb572c6a2f952e4750963 Mon Sep 17 00:00:00 2001 From: MinjaeLee <2alswo7@khu.ac.kr> Date: Thu, 23 Dec 2021 12:59:56 +0900 Subject: [PATCH 06/19] =?UTF-8?q?[FEAT]=20#184=20-=20=EC=B9=B4=EB=93=9C=20?= =?UTF-8?q?=EB=A6=AC=EC=8A=A4=ED=8A=B8=20=EB=A1=9C=EC=A7=81=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Cells/CardList/CardListTableViewCell.xib | 4 +- .../NetworkModel/Card/CardListRequest.swift | 7 +- .../Sources/NetworkService/Card/CardAPI.swift | 57 ++++++++++++--- .../NetworkService/Card/CardService.swift | 3 +- .../CardList/CardListViewController.swift | 4 +- .../Main/FrontViewController.swift | 70 +++++++++---------- 6 files changed, 93 insertions(+), 52 deletions(-) diff --git a/NADA-iOS-forRelease/Sources/Cells/CardList/CardListTableViewCell.xib b/NADA-iOS-forRelease/Sources/Cells/CardList/CardListTableViewCell.xib index f8d33bb3..75598ad7 100644 --- a/NADA-iOS-forRelease/Sources/Cells/CardList/CardListTableViewCell.xib +++ b/NADA-iOS-forRelease/Sources/Cells/CardList/CardListTableViewCell.xib @@ -1,9 +1,9 @@ - + - + diff --git a/NADA-iOS-forRelease/Sources/NetworkModel/Card/CardListRequest.swift b/NADA-iOS-forRelease/Sources/NetworkModel/Card/CardListRequest.swift index bc80f6fc..72c76f32 100644 --- a/NADA-iOS-forRelease/Sources/NetworkModel/Card/CardListRequest.swift +++ b/NADA-iOS-forRelease/Sources/NetworkModel/Card/CardListRequest.swift @@ -7,8 +7,13 @@ import Foundation -// MARK: - CardList +// MARK: - CardListRequest struct CardListRequest: Codable { + let cardList: [CardList] +} + +// MARK: - CardList +struct CardList: Codable { let cardID, title: String enum CodingKeys: String, CodingKey { diff --git a/NADA-iOS-forRelease/Sources/NetworkService/Card/CardAPI.swift b/NADA-iOS-forRelease/Sources/NetworkService/Card/CardAPI.swift index 19e70cfd..6a890d10 100644 --- a/NADA-iOS-forRelease/Sources/NetworkService/Card/CardAPI.swift +++ b/NADA-iOS-forRelease/Sources/NetworkService/Card/CardAPI.swift @@ -49,16 +49,30 @@ public class CardAPI { func cardListFetch(userID: String, isList: Bool, offset: Int?, completion: @escaping (NetworkResult) -> Void) { cardProvider.request(.cardListFetch(userID: userID, isList: isList, offset: offset)) { (result) in - switch result { - case .success(let response): - let statusCode = response.statusCode - let data = response.data - - let networkResult = self.judgeCardListFetchStatus(by: statusCode, data) - completion(networkResult) - - case .failure(let err): - print(err) + if isList == true { + switch result { + case .success(let response): + let statusCode = response.statusCode + let data = response.data + + let networkResult = self.judgeCardListFetchStatus(by: statusCode, data) + completion(networkResult) + + case .failure(let err): + print(err) + } + } else { + switch result { + case .success(let response): + let statusCode = response.statusCode + let data = response.data + + let networkResult = self.judgeMainListFetchStatus(by: statusCode, data) + completion(networkResult) + + case .failure(let err): + print(err) + } } } } @@ -115,7 +129,7 @@ public class CardAPI { } } - private func judgeCardListFetchStatus(by statusCode: Int, _ data: Data) -> NetworkResult { + private func judgeMainListFetchStatus(by statusCode: Int, _ data: Data) -> NetworkResult { let decoder = JSONDecoder() guard let decodedData = try? decoder.decode(GenericResponse.self, from: data) @@ -135,6 +149,27 @@ public class CardAPI { } } + private func judgeCardListFetchStatus(by statusCode: Int, _ data: Data) -> NetworkResult { + + let decoder = JSONDecoder() + guard let decodedData = try? decoder.decode(GenericResponse.self, from: data) + else { + return .pathErr + } + + switch statusCode { + case 200: + print(decodedData, "⭐️") + return .success(decodedData.data ?? "None-Data") + case 400..<500: + return .requestErr(decodedData.msg) + case 500: + return .serverErr + default: + return .networkFail + } + } + private func judgeCardCreationStatus(by statusCode: Int, _ data: Data) -> NetworkResult { let decoder = JSONDecoder() diff --git a/NADA-iOS-forRelease/Sources/NetworkService/Card/CardService.swift b/NADA-iOS-forRelease/Sources/NetworkService/Card/CardService.swift index bbbdb8d0..11c816b5 100644 --- a/NADA-iOS-forRelease/Sources/NetworkService/Card/CardService.swift +++ b/NADA-iOS-forRelease/Sources/NetworkService/Card/CardService.swift @@ -110,7 +110,8 @@ extension CardService: TargetType { var headers: [String: String]? { switch self { case .cardDetailFetch, .cardListFetch, .cardDelete: - return Const.Header.bearerHeader + return ["Content-Type": "application/json", + "Authorization": "Bearer " + UserDefaults.standard.string(forKey: Const.UserDefaults.accessToken)!] case .cardCreation: return Const.Header.basicHeader case .cardListEdit: diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift index ce0c8e92..bc472fee 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift @@ -12,7 +12,7 @@ import KakaoSDKCommon class CardListViewController: UIViewController { // MARK: - Properties - var cardItems: [CardListRequest] = [] + var cardItems: [CardList] = [] // MARK: - IBOutlet Properties @IBOutlet weak var cardListTableView: UITableView! @@ -32,7 +32,7 @@ class CardListViewController: UIViewController { cardListTableView.dataSource = self // FIXME: - 카드 리스트 조회 서버 테스트 - cardListFetchWithAPI(userID: "nada", isList: true) + cardListFetchWithAPI(userID: "nada2", isList: true) } override func viewWillAppear(_ animated: Bool) { diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift index 562d092f..f2c60e8e 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift @@ -13,40 +13,40 @@ class FrontViewController: UIViewController { // MARK: - Properteis - var cardDataList: [Card] = [Card(cardID: "card", - background: "card", - title: "SOPT 명함", - name: "이채연", - birthDate: "1998.01.09 (24)", - mbti: "ENFP", - instagram: "chaens_", - link: "https://github.com/TeamNADAgithub.com/TeamNADAgithub.com/TeamNADAgithub.com/TeamNADAgithub.com/TeamNADA", - cardDescription: "29기 디자인파트", - isMincho: true, - isSoju: true, - isBoomuk: true, - isSauced: true, - oneTmi: "첫번째", - twoTmi: "두번째", - threeTmi: "세번째세번째세번째"), - Card(cardID: "card", - background: "card", - title: "SOPT 명함", - name: "이채연", - birthDate: "1998.01.09 (24)", - mbti: "ENFP", - instagram: "minimin.0_0", - link: "https://www.naver.com", - cardDescription: "29기 디자인파트", - isMincho: true, - isSoju: true, - isBoomuk: true, - isSauced: true, - oneTmi: "첫번째", - twoTmi: "두번째", - threeTmi: "세번째세번째세번째")] +// var cardDataList: [Card] = [Card(cardID: "card", +// background: "card", +// title: "SOPT 명함", +// name: "이채연", +// birthDate: "1998.01.09 (24)", +// mbti: "ENFP", +// instagram: "chaens_", +// link: "https://github.com/TeamNADAgithub.com/TeamNADAgithub.com/TeamNADAgithub.com/TeamNADAgithub.com/TeamNADA", +// cardDescription: "29기 디자인파트", +// isMincho: true, +// isSoju: true, +// isBoomuk: true, +// isSauced: true, +// oneTmi: "첫번째", +// twoTmi: "두번째", +// threeTmi: "세번째세번째세번째"), +// Card(cardID: "card", +// background: "card", +// title: "SOPT 명함", +// name: "이채연", +// birthDate: "1998.01.09 (24)", +// mbti: "ENFP", +// instagram: "minimin.0_0", +// link: "https://www.naver.com", +// cardDescription: "29기 디자인파트", +// isMincho: true, +// isSoju: true, +// isBoomuk: true, +// isSauced: true, +// oneTmi: "첫번째", +// twoTmi: "두번째", +// threeTmi: "세번째세번째세번째")] - // var cardDataList: [Card] = [] + var cardDataList: [Card] = [] // MARK: - @IBOutlet Properties @IBOutlet weak var cardSwiper: VerticalCardSwiper! @@ -58,7 +58,7 @@ class FrontViewController: UIViewController { setDelegate() setNotification() // TODO: - 서버 테스트 -// cardListFetchWithAPI(userID: "nada", isList: false, offset: 0) + cardListFetchWithAPI(userID: "nada2", isList: false, offset: 0) } override func viewWillAppear(_ animated: Bool) { @@ -99,7 +99,7 @@ extension FrontViewController { private func setMain() { if let userID = UserDefaults.standard.string(forKey: Const.UserDefaults.userID) { - cardListFetchWithAPI(userID: "nada2", isList: false, offset: 0) + cardListFetchWithAPI(userID: userID, isList: false, offset: 0) } } private func setNotification() { From 6b680f394712ba76ada7ca9088079fd5112cffba Mon Sep 17 00:00:00 2001 From: MinjaeLee <2alswo7@khu.ac.kr> Date: Thu, 23 Dec 2021 19:34:22 +0900 Subject: [PATCH 07/19] =?UTF-8?q?[FEAT]=20#184=20-=20=ED=95=80=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=EC=8B=9C=20=EC=B9=B4=EB=93=9C=20=EB=A6=AC=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=20=ED=8E=B8=EC=A7=91=20=EB=A1=9C=EC=A7=81=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Cells/CardCell/FrontCardCell.swift | 9 ++- .../NetworkService/Card/CardService.swift | 4 +- .../CardList/CardListViewController.swift | 18 ++--- .../Main/FrontViewController.swift | 78 +------------------ 4 files changed, 20 insertions(+), 89 deletions(-) diff --git a/NADA-iOS-forRelease/Sources/Cells/CardCell/FrontCardCell.swift b/NADA-iOS-forRelease/Sources/Cells/CardCell/FrontCardCell.swift index f93cae0f..859d3a90 100644 --- a/NADA-iOS-forRelease/Sources/Cells/CardCell/FrontCardCell.swift +++ b/NADA-iOS-forRelease/Sources/Cells/CardCell/FrontCardCell.swift @@ -115,7 +115,14 @@ extension FrontCardCell { _ linkURL: String, isShareable: Bool) { - backgroundImageView.updateServerImage(backgroundImage) + if backgroundImage.hasPrefix("https://") { + backgroundImageView.updateServerImage(backgroundImage) + + } else { + if let bgImage = UIImage(named: backgroundImage) { + self.backgroundImageView.image = bgImage + } + } titleLabel.text = cardTitle descriptionLabel.text = cardDescription userNameLabel.text = userName diff --git a/NADA-iOS-forRelease/Sources/NetworkService/Card/CardService.swift b/NADA-iOS-forRelease/Sources/NetworkService/Card/CardService.swift index 22cb5e9f..af91f52b 100644 --- a/NADA-iOS-forRelease/Sources/NetworkService/Card/CardService.swift +++ b/NADA-iOS-forRelease/Sources/NetworkService/Card/CardService.swift @@ -111,13 +111,11 @@ extension CardService: TargetType { var headers: [String: String]? { switch self { - case .cardDetailFetch, .cardListFetch, .cardDelete: + case .cardDetailFetch, .cardListFetch, .cardDelete, .cardListEdit: return ["Content-Type": "application/json", "Authorization": "Bearer " + UserDefaults.standard.string(forKey: Const.UserDefaults.accessToken)!] case .cardCreation: return Const.Header.basicHeader - case .cardListEdit: - return ["Content-Type": "application/json"] } } } diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift index bc472fee..c365247b 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift @@ -48,14 +48,12 @@ class CardListViewController: UIViewController { // MARK: - Functions func setCardList() { -// cardItems.append(contentsOf: [ -// CardListDataModel(title: "SOPT 28기 명함"), -// CardListDataModel(title: "디자인 스터디 명함"), -// CardListDataModel(title: "아이스브레이킹"), -// CardListDataModel(title: "NADA 명함"), -// CardListDataModel(title: "NADA 명함"), -// CardListDataModel(title: "NADA 명함") -// ]) + cardItems.append(contentsOf: [ + CardList(cardID: "nada1", title: "명함1"), + CardList(cardID: "nada2", title: "명함2"), + CardList(cardID: "nada3", title: "명함3"), + CardList(cardID: "nada4", title: "명함4") + ]) } @@ -97,7 +95,7 @@ class CardListViewController: UIViewController { cardListTableView.reloadData() // FIXME: - 카드 리스트 편집 서버 테스트 - // self.putCardListEditWithAPI(request: CardListEditRequest(ordered: [Ordered(cardID: "cardA", priority: 1), Ordered(cardID: "cardB", priority: 0)])) + self.cardListEditWithAPI(request: CardListEditRequest(ordered: [Ordered(cardID: cardItems[index!.row].cardID, priority: 1), Ordered(cardID: cardItems[index!.row].cardID, priority: 0)])) } } } @@ -312,7 +310,7 @@ extension CardListViewController { MyCell.cellSnapshot = nil // FIXME: - 카드 리스트 편집 서버 테스트 - // self.putCardListEditWithAPI(request: CardListEditRequest(ordered: [Ordered(cardID: "cardA", priority: 1), Ordered(cardID: "cardB", priority: 0)])) + self.cardListEditWithAPI(request: CardListEditRequest(ordered: [Ordered(cardID: "cardA", priority: 1), Ordered(cardID: "cardB", priority: 0)])) } }) } diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift index f2c60e8e..44e8fd15 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift @@ -12,40 +12,6 @@ import KakaoSDKCommon class FrontViewController: UIViewController { // MARK: - Properteis - -// var cardDataList: [Card] = [Card(cardID: "card", -// background: "card", -// title: "SOPT 명함", -// name: "이채연", -// birthDate: "1998.01.09 (24)", -// mbti: "ENFP", -// instagram: "chaens_", -// link: "https://github.com/TeamNADAgithub.com/TeamNADAgithub.com/TeamNADAgithub.com/TeamNADAgithub.com/TeamNADA", -// cardDescription: "29기 디자인파트", -// isMincho: true, -// isSoju: true, -// isBoomuk: true, -// isSauced: true, -// oneTmi: "첫번째", -// twoTmi: "두번째", -// threeTmi: "세번째세번째세번째"), -// Card(cardID: "card", -// background: "card", -// title: "SOPT 명함", -// name: "이채연", -// birthDate: "1998.01.09 (24)", -// mbti: "ENFP", -// instagram: "minimin.0_0", -// link: "https://www.naver.com", -// cardDescription: "29기 디자인파트", -// isMincho: true, -// isSoju: true, -// isBoomuk: true, -// isSauced: true, -// oneTmi: "첫번째", -// twoTmi: "두번째", -// threeTmi: "세번째세번째세번째")] - var cardDataList: [Card] = [] // MARK: - @IBOutlet Properties @@ -54,11 +20,10 @@ class FrontViewController: UIViewController { // MARK: - View Life Cycle override func viewDidLoad() { super.viewDidLoad() -// setCardDataModelList() + setDelegate() setNotification() - // TODO: - 서버 테스트 - cardListFetchWithAPI(userID: "nada2", isList: false, offset: 0) + setMain() } override func viewWillAppear(_ animated: Bool) { @@ -99,7 +64,7 @@ extension FrontViewController { private func setMain() { if let userID = UserDefaults.standard.string(forKey: Const.UserDefaults.userID) { - cardListFetchWithAPI(userID: userID, isList: false, offset: 0) + cardListFetchWithAPI(userID: "nada2", isList: false, offset: 0) } } private func setNotification() { @@ -113,43 +78,6 @@ extension FrontViewController { nextVC.modalPresentationStyle = .overFullScreen self.present(nextVC, animated: false, completion: nil) } - -// private func setCardDataModelList() { -// cardDataList?.append(contentsOf: [ -// Card(cardID: "card", -// background: "card", -// title: "SOPT 명함", -// name: "이채연", -// birthDate: "1998.01.09 (24)", -// mbti: "ENFP", -// instagram: "chaens_", -// link: "https://github.com/TeamNADAgithub.com/TeamNADAgithub.com/TeamNADAgithub.com/TeamNADAgithub.com/TeamNADA", -// cardDescription: "29기 디자인파트", -// isMincho: true, -// isSoju: true, -// isBoomuk: true, -// isSauced: true, -// oneTMI: "첫번째", -// twoTMI: "두번째", -// thirdTMI: "세번째세번째세번째"), -// Card(cardID: "card", -// background: "card", -// title: "SOPT 명함", -// name: "이채연", -// birthDate: "1998.01.09 (24)", -// mbti: "ENFP", -// instagram: "minimin.0_0", -// link: "https://www.naver.com", -// cardDescription: "29기 디자인파트", -// isMincho: true, -// isSoju: true, -// isBoomuk: true, -// isSauced: true, -// oneTMI: "첫번째", -// twoTMI: "두번째", -// thirdTMI: "세번째세번째세번째") -// ]) -// } } // MARK: - VerticalCardSwiperDelegate From 127cd07ff49d7d13b8544a9c6d73e10559576b71 Mon Sep 17 00:00:00 2001 From: MinjaeLee <2alswo7@khu.ac.kr> Date: Thu, 23 Dec 2021 19:44:26 +0900 Subject: [PATCH 08/19] =?UTF-8?q?[FEAT]=20#184=20-=20=EC=B9=B4=EB=93=9C=20?= =?UTF-8?q?=EC=82=AD=EC=A0=9C=20=EC=84=9C=EB=B2=84=20=EC=97=B0=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ViewControllers/CardList/CardListViewController.swift | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift index c365247b..a3782dd3 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift @@ -116,7 +116,8 @@ extension CardListViewController: UITableViewDelegate { // 취소 눌렀을 때 액션이 들어갈 부분 }, deleteAction: { _ in // FIXME: - 카드 삭제 서버 테스트 - // self.deleteCardWithAPI(cardID: "cardA") + self.deleteCardWithAPI(cardID: self.cardItems[indexPath.row].cardID) + self.cardListTableView.reloadData() }) }) deleteAction.backgroundColor = .red From 83efd112911b3b5eb7de710d87c46fe2487e3909 Mon Sep 17 00:00:00 2001 From: MinjaeLee <2alswo7@khu.ac.kr> Date: Thu, 23 Dec 2021 19:57:50 +0900 Subject: [PATCH 09/19] =?UTF-8?q?[FEAT]=20#184=20-=20=EC=B9=B4=EB=93=9C=20?= =?UTF-8?q?=EB=A6=AC=EC=8A=A4=ED=8A=B8=20=EB=B7=B0=20=EC=A1=B0=ED=9A=8C=20?= =?UTF-8?q?=EC=84=9C=EB=B2=84=20=EC=97=B0=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../NetworkModel/Card/CardListRequest.swift | 2 +- .../Sources/NetworkService/Card/CardAPI.swift | 1 - .../CardList/CardListViewController.swift | 18 +++++++++--------- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/NADA-iOS-forRelease/Sources/NetworkModel/Card/CardListRequest.swift b/NADA-iOS-forRelease/Sources/NetworkModel/Card/CardListRequest.swift index 72c76f32..cffb2778 100644 --- a/NADA-iOS-forRelease/Sources/NetworkModel/Card/CardListRequest.swift +++ b/NADA-iOS-forRelease/Sources/NetworkModel/Card/CardListRequest.swift @@ -9,7 +9,7 @@ import Foundation // MARK: - CardListRequest struct CardListRequest: Codable { - let cardList: [CardList] + let cardDates: [CardList] } // MARK: - CardList diff --git a/NADA-iOS-forRelease/Sources/NetworkService/Card/CardAPI.swift b/NADA-iOS-forRelease/Sources/NetworkService/Card/CardAPI.swift index 6a890d10..5efbda27 100644 --- a/NADA-iOS-forRelease/Sources/NetworkService/Card/CardAPI.swift +++ b/NADA-iOS-forRelease/Sources/NetworkService/Card/CardAPI.swift @@ -159,7 +159,6 @@ public class CardAPI { switch statusCode { case 200: - print(decodedData, "⭐️") return .success(decodedData.data ?? "None-Data") case 400..<500: return .requestErr(decodedData.msg) diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift index a3782dd3..5022486b 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift @@ -48,13 +48,12 @@ class CardListViewController: UIViewController { // MARK: - Functions func setCardList() { - cardItems.append(contentsOf: [ - CardList(cardID: "nada1", title: "명함1"), - CardList(cardID: "nada2", title: "명함2"), - CardList(cardID: "nada3", title: "명함3"), - CardList(cardID: "nada4", title: "명함4") - ]) - +// cardItems.append(contentsOf: [ +// CardList(cardID: "nada1", title: "명함1"), +// CardList(cardID: "nada2", title: "명함2"), +// CardList(cardID: "nada3", title: "명함3"), +// CardList(cardID: "nada4", title: "명함4") +// ]) } func setLongPressGesture() { @@ -162,9 +161,10 @@ extension CardListViewController { CardAPI.shared.cardListFetch(userID: userID, isList: isList, offset: nil) { response in switch response { case .success(let data): - print(data, "⭐️") if let card = data as? CardListRequest { - + self.cardItems = card.cardDates + self.cardListTableView.reloadData() + print(card, "⭐️") } case .requestErr(let message): print("getCardListFetchWithAPI - requestErr", message) From deb99a2ea572fdc40aac39b164629e3b3b73af44 Mon Sep 17 00:00:00 2001 From: MinjaeLee <2alswo7@khu.ac.kr> Date: Thu, 23 Dec 2021 20:31:36 +0900 Subject: [PATCH 10/19] =?UTF-8?q?[FEAT]=20#184=20-=20=EC=B9=B4=EB=93=9C=20?= =?UTF-8?q?=EC=9C=84=EC=B9=98=20=EC=88=98=EC=A0=95=20=EC=9E=91=EC=97=85?= =?UTF-8?q?=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- NADA-iOS-forRelease/Sources/SceneDelegate.swift | 2 ++ .../CardList/CardListViewController.swift | 13 ++++++------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/NADA-iOS-forRelease/Sources/SceneDelegate.swift b/NADA-iOS-forRelease/Sources/SceneDelegate.swift index 17648900..b29509b7 100644 --- a/NADA-iOS-forRelease/Sources/SceneDelegate.swift +++ b/NADA-iOS-forRelease/Sources/SceneDelegate.swift @@ -68,6 +68,8 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { if self.defaults.string(forKey: Const.UserDefaults.accessToken) != "" { rootViewController = UIStoryboard(name: Const.Storyboard.Name.tabBar, bundle: nil).instantiateViewController(withIdentifier: Const.ViewController.Identifier.tabBarViewController) + } else { + } self.window?.rootViewController = rootViewController self.window?.makeKeyAndVisible() diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift index 5022486b..fb25894d 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift @@ -93,7 +93,6 @@ class CardListViewController: UIViewController { self.cardItems.insert(self.cardItems.remove(at: index!.row), at: 0) cardListTableView.reloadData() - // FIXME: - 카드 리스트 편집 서버 테스트 self.cardListEditWithAPI(request: CardListEditRequest(ordered: [Ordered(cardID: cardItems[index!.row].cardID, priority: 1), Ordered(cardID: cardItems[index!.row].cardID, priority: 0)])) } } @@ -114,9 +113,7 @@ extension CardListViewController: UITableViewDelegate { self.makeCancelDeleteAlert(title: "명함 삭제", message: "명함을 정말 삭제하시겠습니까?\n공유된 명함일 경우, 친구의 명함 모음에서도 해당 명함이 삭제됩니다.", cancelAction: { _ in // 취소 눌렀을 때 액션이 들어갈 부분 }, deleteAction: { _ in - // FIXME: - 카드 삭제 서버 테스트 self.deleteCardWithAPI(cardID: self.cardItems[indexPath.row].cardID) - self.cardListTableView.reloadData() }) }) deleteAction.backgroundColor = .red @@ -164,7 +161,6 @@ extension CardListViewController { if let card = data as? CardListRequest { self.cardItems = card.cardDates self.cardListTableView.reloadData() - print(card, "⭐️") } case .requestErr(let message): print("getCardListFetchWithAPI - requestErr", message) @@ -200,6 +196,7 @@ extension CardListViewController { switch response { case .success(let data): print(data) + self.cardListTableView.reloadData() case .requestErr(let message): print("deleteGroupWithAPI - requestErr", message) case .pathErr: @@ -306,12 +303,14 @@ extension CardListViewController { }, completion: { (finished) -> Void in if finished { + // FIXME: - 카드 리스트 편집 서버 테스트 + print(Initial.initialIndexPath, "⭐️") + print(indexPath, "🤍") + // self.cardListEditWithAPI(request: CardListEditRequest(ordered: [Ordered(cardID: cardItems[index].cardID, priority: 1), Ordered(cardID: cardItems[index].cardID, priority: 0)])) + Initial.initialIndexPath = nil MyCell.cellSnapshot!.removeFromSuperview() MyCell.cellSnapshot = nil - - // FIXME: - 카드 리스트 편집 서버 테스트 - self.cardListEditWithAPI(request: CardListEditRequest(ordered: [Ordered(cardID: "cardA", priority: 1), Ordered(cardID: "cardB", priority: 0)])) } }) } From 6d3612c9340084e2f18009592f2886ce179f1fe9 Mon Sep 17 00:00:00 2001 From: MinjaeLee <2alswo7@khu.ac.kr> Date: Fri, 24 Dec 2021 23:12:48 +0900 Subject: [PATCH 11/19] =?UTF-8?q?[FEAT]=20#184=20-=20=ED=85=8C=EC=9D=B4?= =?UTF-8?q?=EB=B8=94=EB=B7=B0=20=EB=A6=AC=EB=A1=9C=EB=93=9C=20=EC=9C=84?= =?UTF-8?q?=EC=B9=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ViewControllers/CardList/CardListViewController.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift index fb25894d..f5eddd8f 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift @@ -179,6 +179,7 @@ extension CardListViewController { switch response { case .success(let data): print(data) + self.cardListTableView.reloadData() case .requestErr(let message): print("putCardListEditWithAPI - requestErr", message) case .pathErr: From 0facb14c6c66ba9d71008769fbf01f6bf62e7911 Mon Sep 17 00:00:00 2001 From: MinjaeLee <2alswo7@khu.ac.kr> Date: Sun, 26 Dec 2021 14:02:31 +0900 Subject: [PATCH 12/19] =?UTF-8?q?[TEST]=20#184=20-=20=EB=A9=94=EC=9D=B8=20?= =?UTF-8?q?=EC=84=9C=EB=B2=84=20=ED=85=8C=EC=8A=A4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ViewControllers/Main/FrontViewController.swift | 13 ++++++++++--- .../Splash/SplashViewController.swift | 2 +- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift index b40d1fed..d7ea765a 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift @@ -23,9 +23,11 @@ class FrontViewController: UIViewController { setDelegate() setNotification() - // TODO: - 서버 테스트 - -// cardListFetchWithAPI(userID: "nada", isList: false, offset: 0) + } + + override func viewWillAppear(_ animated: Bool) { + cardListFetchWithAPI(userID: "nada2", isList: false, offset: 0) + } // MARK: - @IBAction Properties @@ -88,6 +90,10 @@ extension FrontViewController: VerticalCardSwiperDelegate { func sizeForItem(verticalCardSwiperView: VerticalCardSwiperView, index: Int) -> CGSize { return CGSize(width: 375, height: 630) } + + func didDragCard(card: CardCell, index: Int, swipeDirection: SwipeDirection) { + cardListFetchWithAPI(userID: "nada2", isList: false, offset: index) + } } // MARK: - VerticalCardSwiperDatasource @@ -111,6 +117,7 @@ extension FrontViewController: VerticalCardSwiperDatasource { return cell } } + } // MARK: - Network diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/Splash/SplashViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/Splash/SplashViewController.swift index 8c2286db..c2452a6f 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/Splash/SplashViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/Splash/SplashViewController.swift @@ -19,7 +19,7 @@ class SplashViewController: UIViewController { super.viewDidLoad() // Do any additional setup after loading the view. - postUserTokenReissue(request: UserTokenReissueRequset(accessToken: UserDefaults.standard.string(forKey: Const.UserDefaults.accessToken)!, refreshToken: UserDefaults.standard.string(forKey: Const.UserDefaults.refreshToken)!)) + // postUserTokenReissue(request: UserTokenReissueRequset(accessToken: UserDefaults.standard.string(forKey: Const.UserDefaults.accessToken)!, refreshToken: UserDefaults.standard.string(forKey: Const.UserDefaults.refreshToken)!)) } // MARK: - Functions From bca7d71713a4678d43fc26390e7fbeea3af9bf03 Mon Sep 17 00:00:00 2001 From: MinjaeLee <2alswo7@khu.ac.kr> Date: Sun, 26 Dec 2021 15:30:15 +0900 Subject: [PATCH 13/19] =?UTF-8?q?[FEAT]=20#184=20-=20=EC=B9=B4=EB=93=9C=20?= =?UTF-8?q?=EB=A6=AC=EC=8A=A4=ED=8A=B8=20=EC=82=AD=EC=A0=9C=20=EA=B5=AC?= =?UTF-8?q?=ED=98=84=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CardList/CardListViewController.swift | 13 ++----------- .../Main/FrontViewController.swift | 17 +++++++---------- 2 files changed, 9 insertions(+), 21 deletions(-) diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift index f5eddd8f..d84de0bd 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift @@ -23,7 +23,6 @@ class CardListViewController: UIViewController { navigationBackSwipeMotion() - setCardList() setLongPressGesture() cardListTableView.register(CardListTableViewCell.nib(), forCellReuseIdentifier: "CardListTableViewCell") @@ -31,7 +30,6 @@ class CardListViewController: UIViewController { cardListTableView.delegate = self cardListTableView.dataSource = self - // FIXME: - 카드 리스트 조회 서버 테스트 cardListFetchWithAPI(userID: "nada2", isList: true) } @@ -47,15 +45,6 @@ class CardListViewController: UIViewController { } // MARK: - Functions - func setCardList() { -// cardItems.append(contentsOf: [ -// CardList(cardID: "nada1", title: "명함1"), -// CardList(cardID: "nada2", title: "명함2"), -// CardList(cardID: "nada3", title: "명함3"), -// CardList(cardID: "nada4", title: "명함4") -// ]) - } - func setLongPressGesture() { self.cardListTableView.allowsSelection = false @@ -114,6 +103,7 @@ extension CardListViewController: UITableViewDelegate { // 취소 눌렀을 때 액션이 들어갈 부분 }, deleteAction: { _ in self.deleteCardWithAPI(cardID: self.cardItems[indexPath.row].cardID) + self.cardListTableView.reloadData() }) }) deleteAction.backgroundColor = .red @@ -197,6 +187,7 @@ extension CardListViewController { switch response { case .success(let data): print(data) + self.cardListFetchWithAPI(userID: "nada2", isList: true) self.cardListTableView.reloadData() case .requestErr(let message): print("deleteGroupWithAPI - requestErr", message) diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift index d7ea765a..e8a707cb 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift @@ -13,6 +13,7 @@ class FrontViewController: UIViewController { // MARK: - Properteis var cardDataList: [Card] = [] + var offset = 0 // MARK: - @IBOutlet Properties @IBOutlet weak var cardSwiper: VerticalCardSwiper! @@ -26,7 +27,7 @@ class FrontViewController: UIViewController { } override func viewWillAppear(_ animated: Bool) { - cardListFetchWithAPI(userID: "nada2", isList: false, offset: 0) + cardListFetchWithAPI(userID: "nada2", isList: false, offset: offset) } @@ -61,12 +62,7 @@ extension FrontViewController { cardSwiper.register(nib: EmptyCardCell.nib(), forCellWithReuseIdentifier: Const.Xib.emptyCardCell) } - - private func setMain() { - if let userID = UserDefaults.standard.string(forKey: Const.UserDefaults.userID) { - cardListFetchWithAPI(userID: "nada2", isList: false, offset: 0) - } - } + private func setNotification() { NotificationCenter.default.addObserver(self, selector: #selector(didRecievePresentCardShare(_:)), name: .presentCardShare, object: nil) } @@ -91,9 +87,10 @@ extension FrontViewController: VerticalCardSwiperDelegate { return CGSize(width: 375, height: 630) } - func didDragCard(card: CardCell, index: Int, swipeDirection: SwipeDirection) { - cardListFetchWithAPI(userID: "nada2", isList: false, offset: index) - } +// func didScroll(verticalCardSwiperView: VerticalCardSwiperView) { +// cardListFetchWithAPI(userID: "nada2", isList: false, offset: offset+1) +// verticalCardSwiperView.reloadData() +// } } // MARK: - VerticalCardSwiperDatasource From a80c8b69833e0d398dae6204bc8322ca9ad2c566 Mon Sep 17 00:00:00 2001 From: MinjaeLee <2alswo7@khu.ac.kr> Date: Sun, 26 Dec 2021 16:56:15 +0900 Subject: [PATCH 14/19] =?UTF-8?q?[FIX]=20#184=20-=20=EC=B9=B4=EB=93=9C=20?= =?UTF-8?q?=EB=A6=AC=EC=8A=A4=ED=8A=B8=20=ED=8E=B8=EC=A7=91=20=EB=B2=84?= =?UTF-8?q?=EA=B7=B8=20=EB=B0=9C=EA=B2=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CardList/CardListViewController.swift | 18 +++++++++++------- .../Main/FrontViewController.swift | 5 ----- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift index d84de0bd..d1770263 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift @@ -13,6 +13,7 @@ class CardListViewController: UIViewController { // MARK: - Properties var cardItems: [CardList] = [] + var newCardItems: CardListEditRequest? // MARK: - IBOutlet Properties @IBOutlet weak var cardListTableView: UITableView! @@ -22,7 +23,6 @@ class CardListViewController: UIViewController { super.viewDidLoad() navigationBackSwipeMotion() - setLongPressGesture() cardListTableView.register(CardListTableViewCell.nib(), forCellReuseIdentifier: "CardListTableViewCell") @@ -78,11 +78,17 @@ class CardListViewController: UIViewController { let index = cardListTableView.indexPath(for: cell) if index!.row > 0 { + print(cardItems, "🤍") cardListTableView.moveRow(at: index!, to: IndexPath(row: 0, section: 0)) self.cardItems.insert(self.cardItems.remove(at: index!.row), at: 0) cardListTableView.reloadData() + print(cardItems, "🌴") - self.cardListEditWithAPI(request: CardListEditRequest(ordered: [Ordered(cardID: cardItems[index!.row].cardID, priority: 1), Ordered(cardID: cardItems[index!.row].cardID, priority: 0)])) +// let count = 0 +// while cardItems.count > count { +// newCardItems?.ordered.append(Ordered(cardID: cardItems[count].cardID, priority: count)) +// } +// cardListEditWithAPI(request: newCardItems) } } } @@ -169,7 +175,6 @@ extension CardListViewController { switch response { case .success(let data): print(data) - self.cardListTableView.reloadData() case .requestErr(let message): print("putCardListEditWithAPI - requestErr", message) case .pathErr: @@ -205,7 +210,6 @@ extension CardListViewController { // MARK: - Extension: 테이블 뷰 Drag & Drop 기능 extension CardListViewController { - // FIX: cyclomatic_complexity 워닝 발생 -> decision이 복잡해서라는데...일단 보류... @objc func longPressCalled(gestureRecognizer: UIGestureRecognizer) { guard let longPress = gestureRecognizer as? UILongPressGestureRecognizer else { return } let state = longPress.state @@ -215,6 +219,7 @@ extension CardListViewController { // 최초 indexPath 변수 struct Initial { static var initialIndexPath: IndexPath? + static var tabIndex: IndexPath? } // 스냅샷 @@ -231,6 +236,7 @@ extension CardListViewController { case UIGestureRecognizer.State.began: if indexPath!.row != 0 { Initial.initialIndexPath = indexPath + Initial.tabIndex = indexPath var cell: UITableViewCell? = UITableViewCell() cell = cardListTableView.cellForRow(at: indexPath!) @@ -296,9 +302,7 @@ extension CardListViewController { }, completion: { (finished) -> Void in if finished { // FIXME: - 카드 리스트 편집 서버 테스트 - print(Initial.initialIndexPath, "⭐️") - print(indexPath, "🤍") - // self.cardListEditWithAPI(request: CardListEditRequest(ordered: [Ordered(cardID: cardItems[index].cardID, priority: 1), Ordered(cardID: cardItems[index].cardID, priority: 0)])) + self.cardListEditWithAPI(request: CardListEditRequest(ordered: [Ordered(cardID: self.cardItems[Initial.tabIndex!.row].cardID, priority: indexPath!.row), Ordered(cardID: self.cardItems[indexPath!.row].cardID, priority: indexPath!.row + 1)])) Initial.initialIndexPath = nil MyCell.cellSnapshot!.removeFromSuperview() diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift index e8a707cb..dbd67f89 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/Main/FrontViewController.swift @@ -86,11 +86,6 @@ extension FrontViewController: VerticalCardSwiperDelegate { func sizeForItem(verticalCardSwiperView: VerticalCardSwiperView, index: Int) -> CGSize { return CGSize(width: 375, height: 630) } - -// func didScroll(verticalCardSwiperView: VerticalCardSwiperView) { -// cardListFetchWithAPI(userID: "nada2", isList: false, offset: offset+1) -// verticalCardSwiperView.reloadData() -// } } // MARK: - VerticalCardSwiperDatasource From 0dc5e56ac30e43778133efc89a6ef97e4df6ff9c Mon Sep 17 00:00:00 2001 From: MinjaeLee <2alswo7@khu.ac.kr> Date: Sun, 26 Dec 2021 18:00:24 +0900 Subject: [PATCH 15/19] =?UTF-8?q?[FEAT]=20#184=20-=20=ED=95=80=20=EA=B3=A0?= =?UTF-8?q?=EC=A0=95=EC=8B=9C=20=EB=AA=85=ED=95=A8=20=EC=88=9C=EC=84=9C=20?= =?UTF-8?q?=ED=8E=B8=EC=A7=91=20=EB=A1=9C=EC=A7=81=EA=B5=AC=ED=98=84=20&?= =?UTF-8?q?=20=EC=95=A0=EB=8B=88=EB=A9=94=EC=9D=B4=EC=85=98=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CardList/CardListViewController.swift | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift index d1770263..af0c6d6c 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift @@ -13,7 +13,7 @@ class CardListViewController: UIViewController { // MARK: - Properties var cardItems: [CardList] = [] - var newCardItems: CardListEditRequest? + var newCardItems: [Ordered] = [] // MARK: - IBOutlet Properties @IBOutlet weak var cardListTableView: UITableView! @@ -78,17 +78,16 @@ class CardListViewController: UIViewController { let index = cardListTableView.indexPath(for: cell) if index!.row > 0 { - print(cardItems, "🤍") - cardListTableView.moveRow(at: index!, to: IndexPath(row: 0, section: 0)) self.cardItems.insert(self.cardItems.remove(at: index!.row), at: 0) cardListTableView.reloadData() - print(cardItems, "🌴") + cardListTableView.moveRow(at: index!, to: IndexPath(row: 0, section: 0)) -// let count = 0 -// while cardItems.count > count { -// newCardItems?.ordered.append(Ordered(cardID: cardItems[count].cardID, priority: count)) -// } -// cardListEditWithAPI(request: newCardItems) + var count = 0 + while cardItems.count > count { + newCardItems.append(Ordered(cardID: cardItems[count].cardID, priority: count)) + count += 1 + } + cardListEditWithAPI(request: CardListEditRequest(ordered: newCardItems)) } } } From 845d44cea547dba5ea5e8c70aef36aeae2252b7a Mon Sep 17 00:00:00 2001 From: MinjaeLee <2alswo7@khu.ac.kr> Date: Sun, 26 Dec 2021 18:08:14 +0900 Subject: [PATCH 16/19] =?UTF-8?q?[FEAT]=20#184=20-=20=EB=93=9C=EB=9E=98?= =?UTF-8?q?=EA=B7=B8=20=EC=8B=9C=20=EB=AA=85=ED=95=A8=20=EC=88=9C=EC=84=9C?= =?UTF-8?q?=20=ED=8E=B8=EC=A7=91=20=EB=A1=9C=EC=A7=81=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ViewControllers/CardList/CardListViewController.swift | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift index af0c6d6c..ecec55f5 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift @@ -300,8 +300,12 @@ extension CardListViewController { }, completion: { (finished) -> Void in if finished { - // FIXME: - 카드 리스트 편집 서버 테스트 - self.cardListEditWithAPI(request: CardListEditRequest(ordered: [Ordered(cardID: self.cardItems[Initial.tabIndex!.row].cardID, priority: indexPath!.row), Ordered(cardID: self.cardItems[indexPath!.row].cardID, priority: indexPath!.row + 1)])) + var count = 0 + while self.cardItems.count > count { + self.newCardItems.append(Ordered(cardID: self.cardItems[count].cardID, priority: count)) + count += 1 + } + self.cardListEditWithAPI(request: CardListEditRequest(ordered: self.newCardItems)) Initial.initialIndexPath = nil MyCell.cellSnapshot!.removeFromSuperview() From 26db57b04b55040ba218b2b361081ee6fdeaecf4 Mon Sep 17 00:00:00 2001 From: MinjaeLee <2alswo7@khu.ac.kr> Date: Sun, 26 Dec 2021 18:10:50 +0900 Subject: [PATCH 17/19] =?UTF-8?q?[FEAT]=20#184=20-=20=EB=A6=AC=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=20=EB=B7=B0=20UserDefaults=EB=A1=9C=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ViewControllers/CardList/CardListViewController.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift index ecec55f5..81099cd0 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift @@ -30,7 +30,7 @@ class CardListViewController: UIViewController { cardListTableView.delegate = self cardListTableView.dataSource = self - cardListFetchWithAPI(userID: "nada2", isList: true) + cardListFetchWithAPI(userID: UserDefaults.standard.string(forKey: Const.UserDefaults.userID) ?? "", isList: true) } override func viewWillAppear(_ animated: Bool) { From 145e461c9b96f929313917e6ab3d64e6a4a368d1 Mon Sep 17 00:00:00 2001 From: MinjaeLee <2alswo7@khu.ac.kr> Date: Sun, 26 Dec 2021 18:20:04 +0900 Subject: [PATCH 18/19] =?UTF-8?q?[FEAT]=20#184=20-=20=EB=A6=AC=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=20=EB=B7=B0=20UserDefaults=20=EC=B6=94=EA=B0=80=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD=20=EB=B6=80=EB=B6=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ViewControllers/CardList/CardListViewController.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift b/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift index 81099cd0..bba197eb 100644 --- a/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift +++ b/NADA-iOS-forRelease/Sources/ViewControllers/CardList/CardListViewController.swift @@ -191,7 +191,7 @@ extension CardListViewController { switch response { case .success(let data): print(data) - self.cardListFetchWithAPI(userID: "nada2", isList: true) + self.cardListFetchWithAPI(userID: UserDefaults.standard.string(forKey: Const.UserDefaults.userID) ?? "", isList: true) self.cardListTableView.reloadData() case .requestErr(let message): print("deleteGroupWithAPI - requestErr", message) From e173613adb1be91fd74401f981eac9c7c849a4ed Mon Sep 17 00:00:00 2001 From: MinjaeLee <2alswo7@khu.ac.kr> Date: Sun, 26 Dec 2021 19:42:01 +0900 Subject: [PATCH 19/19] =?UTF-8?q?[FIX]=20#184=20-=20=EC=BD=94=EB=93=9C?= =?UTF-8?q?=EB=A6=AC=EB=B7=B0=20=EB=B0=98=EC=98=81=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- NADA-iOS-forRelease/Sources/SceneDelegate.swift | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/NADA-iOS-forRelease/Sources/SceneDelegate.swift b/NADA-iOS-forRelease/Sources/SceneDelegate.swift index 9c6b7536..c957f0a4 100644 --- a/NADA-iOS-forRelease/Sources/SceneDelegate.swift +++ b/NADA-iOS-forRelease/Sources/SceneDelegate.swift @@ -68,7 +68,8 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { if self.defaults.string(forKey: Const.UserDefaults.accessToken) != "" { rootViewController = UIStoryboard(name: Const.Storyboard.Name.tabBar, bundle: nil).instantiateViewController(withIdentifier: Const.ViewController.Identifier.tabBarViewController) } else { - + rootViewController = UIStoryboard(name: Const.Storyboard.Name.login, bundle: nil) + .instantiateViewController(identifier: Const.ViewController.Identifier.loginViewController) } self.window?.rootViewController = rootViewController self.window?.makeKeyAndVisible()