Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨ [FEAT] 홈 API 연결 #470

Merged
merged 15 commits into from
Sep 26, 2022
Merged

✨ [FEAT] 홈 API 연결 #470

merged 15 commits into from
Sep 26, 2022

Conversation

dev-jungbin
Copy link
Member

🍎 관련 이슈

closed #463

🍎 변경 사항 및 이유

  • HomeAPI, HomeService 코드 작성
  • 배너 조회를 위한 모델 및 배너 클릭 시 해당 링크로 redirect하는 기능 추가
  • 로그인 시 univID를 UserDefaults에 저장 @hwangJi-dev
  • univID에 따라 홈 뷰에서 학교명 다르게 보이도록 설정
  • 최근 후기 조회 API 연결
  • 선배랭킹 조회 API 연결
  • 최근 1:1 질문 조회 API 연결
  • 최근 1:1 질문 뷰 API 연결
  • 커뮤니티 최근 게시물 조회 API 연결

🍎 PR Point

  • 홈 뷰 제일 하단 커뮤니티 최근 게시물 부분에서,,, 전체 큰 BackgroundTV 안의 셀 중에 커뮤니티 최근 게시물 목록 TV가 있는 구조입니다,, 근데 여기서 최근 게시물 목록 TV의 height가 네트워크 통신 이후 업데이트되는데, 그것을 반영하기 위해 전체 큰 BackgroundTV에서 reloadRows를 수행하거든여..? 근데 reloadRows를 수행하는 과정해서 해당 Row만 업데이트 되는 게 아니라 그 위에 있던 셀과 (타이틀 영역), 아예 다른 섹션의 타이틀 영역 셀이 갑자기 사라졌다가 스크롤을 다시 여러번 하면 사라졌던 게 나타나는 문제가;; 있습니다,, 이거 해결하려고 며칠 고민하다가 결국 해결 못 해서 PR을 굉장히 늦게 올리게 되었습니다,,,,,,,,,,, 영상에 있으니 혹시,,, 해결법을 아시는 분들은 도움을 주시면 좋겟습니당,,,, 은주언니 과방탭에도 비슷한 UI 있어서, TVC에서 NotificationCenter post 날리면 MainVC에서 그거 받아서 @objc 함수로 reloadRows 호출하는 그거 보고 구현했는데 저는 근처 셀이 사라져양아ㅏ어ㅏ어ㅏㅓ아ㅓㅇ ㅠㅠ

📸 ScreenShot

RPReplay_Final1664086768.mov

@dev-jungbin dev-jungbin added 📡 Network 네트워크 통신 시 사용합니다. 🚨 도움 필요 도움이 필요할 때 사용합니다. ❤️ 정빈걸 ❤️ 정빈이 연 pr, issue에 사용 📰 홈 탭 홈 탭 개발 시 사용합니다. labels Sep 25, 2022
@dev-jungbin dev-jungbin self-assigned this Sep 25, 2022
Copy link
Member

@hwangJi-dev hwangJi-dev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

정빈아 TVC 업데이트 부분 bd643b0
이거 한번 참고해봐봐!

@@ -70,6 +70,7 @@ extension BaseVC {
UserDefaults.standard.set(data.user.secondMajorID, forKey: UserDefaults.Keys.SecondMajorID)
UserDefaults.standard.set(data.user.secondMajorName, forKey: UserDefaults.Keys.SecondMajorName)
UserDefaults.standard.set(data.user.userID, forKey: UserDefaults.Keys.UserID)
UserDefaults.standard.set(data.user.universityID, forKey: UserDefaults.Keys.univID)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고마와요~

@dev-jungbin
Copy link
Member Author

@hwangJi-dev 및힌 저거 보고 수정해서 고쳤어 곰마워!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Copy link
Member

@jane1choi jane1choi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

해결해서 다행이네,, 천재걸들 최고~

Comment on lines +37 to +67
/// [GET] 학교 후기 전체 최신순 조회
func getAllReviewList(completion: @escaping (NetworkResult<Any>) -> (Void)) {
provider.request(.getAllReviewList) { result in
switch result {
case .success(let response):
let statusCode = response.statusCode
let data = response.data

let networkResult = self.judgeStatus(by: statusCode, data, HomeRecentReviewResponseData.self)
completion(networkResult)

case .failure(let err):
print(err.localizedDescription)
}
}
}

/// [GET] 선배 랭킹 조회
func getUserRankingList(completion: @escaping (NetworkResult<Any>) -> (Void)) {
provider.request(.getUserRankingList) { result in
switch result {
case .success(let response):
let statusCode = response.statusCode
let data = response.data

let networkResult = self.judgeStatus(by: statusCode, data, HomeRankingResponseModel.self)
completion(networkResult)

case .failure(let err):
print(err.localizedDescription)
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

감삼당~

Comment on lines +39 to +42
override func prepareForReuse() {
super.prepareForReuse()
updateRecentPostTVHeight()
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

굳굳..셀 재사용 문제인거 같드라...

Comment on lines +53 to +59
func updateRecentPostTVHeight() {
self.recentPostTV.reloadData()
self.recentPostTV.snp.updateConstraints {
$0.height.equalTo(self.recentPostTV.contentSize.height)
}
self.recentPostTV.layoutIfNeeded()
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

굳...

@dev-jungbin dev-jungbin merged commit ec61fae into develop Sep 26, 2022
@dev-jungbin dev-jungbin deleted the network/#463-Home-API branch September 26, 2022 08:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
❤️ 정빈걸 ❤️ 정빈이 연 pr, issue에 사용 📡 Network 네트워크 통신 시 사용합니다. 📰 홈 탭 홈 탭 개발 시 사용합니다. 🚨 도움 필요 도움이 필요할 때 사용합니다.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

✨ [FEAT] 홈 API 연결
3 participants