Search
Duplicate

비플페이 개발계 메인화면 최신화

생성일
2024/07/03 06:52
태그
슬기로운 인턴생활
내가 받은 이전 버전의 앱
현재 배포되어 있는 버전의 앱
내가 받은 개발계 메인화면을 현재 배포되어 있는 앱의 메인화면 처럼 최신화 하는 업무를 받았다.

눈으로 봤을 때 다른 점

1.
상단 네비게이션에 비플머니 버튼이 없다.
2.
공공상품권 자리에 온누리상품권이 들어가 있고,
3.
그 밑에 공공상품권이 위치해 있다.
일단 요정도
결제 쪽은 상관없다고 하셨다!
그리고 받은 최신화 업무 문서에서도 공공상품권, 온누리상품권 관련 API 문서를 받았다.
일단 하나하나 처리해보자!

1. 비플머니 버튼 없애기

NewMainVC에서 bepleMoneyBtn 삭제!

2. 공공상품권 → 온누리상품권으로 대체

이 부분을 구성하고 있는 셀을 찾아보니까
NewMainVC 안의 테이블뷰에 GiftMainListCell을 붙이는 로직으로 구성된다는 것을 확인하였다.
그리고 GiftMainListCell 안에 GiftMainListCollectionViewCell 로직을
case .GIFT_MAIN_1 : self.giftImageView.image = UIImage(named: "_ico_menu_onnuri") self.gitfNameLabel.text = giftData?.MAIN_NM
Swift
복사
이렇게 바꿔주면, UI는 무사히 대체되어졌다.
그리고 일단 API.swift에 /zero_gift_pbo_multi.jct을 명세해주었다.
static var ZERO_GIFT_PBO_MULTI: String {"/zero_gift_pbo_multi.jct"}
Swift
복사
이제는 제대로 온누리상품권을 누르면 온누리상품권 웹뷰가 띄워질 수 있도록 GiftMainListCell의 로직 중에서 이 로직을
if item.MAIN_AVAILABLE_YN == "Y" { switch giftRow { case .GIFT_MAIN_1 : self.mainVC.request_MobileSangPhumGwan(title: item.MAIN_NM ?? "") FireBaseEventManager.fireBaseCustomEvent(withName: .mainMobilecard, customData: nil) BranchEventManager.branchCustomEvent(withName: .Screen_Access, customData: [ "Screen_Name": "메인_모바일상품권" ], alias: .메인_모바일상품권)
Swift
복사
guard let item = self.giftData?[indexPath.row] else { return } switch giftRow { case .GIFT_MAIN_1: if item.MAIN_AVAILABLE_YN == "Y" { self.mainVC?.request_MobileSangPhumGwan(title: "온누리상품권", requestAPI: API.ZERO_GIFT_PBO_MULTI) } else { self.mainVC?.alertMessageNoAction(content: item.MAIN_AVAILABLE_MSG) }
Swift
복사
이렇게 공공상품권 → 온누리상품권으로 바꿔준다. 그러면 request_MobileSangPhumGwan 함수를 통해서 ZERO_GIFT_PBO_MULTI 웹뷰로 이동하게 해준다.
온누리상품권 웹뷰로 무사히 넘어가는 것까지 확인

3. 공공상품권 블럭 추가하기

이제 공공상품권 블럭 추가해보자
우선 NewMainVC 테이블뷰에 추가할 공공상품권 블럭 셀(MainListCell)을 생성하고 UI 코드도 작성
MainListCell
그리고 이 셀을 테이블뷰에 등록
self.tableView.register(UINib(nibName: "MainListCell", bundle: nil), forCellReuseIdentifier: "MainListTableViewCell")
Swift
복사
그리고 각 행에 표시할 셀을 반환시켜주기 위해 cellForRowAt()에
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { case .MAIN_LIST : let cell = self.tableView.dequeueReusableCell(withIdentifier: "MainListTableViewCell") as! MainListTableViewCell let data = self.mainVM.mainData[indexPath.section].value as? [MainModel.MAIN_LIST] ?? [] cell.configCell(title: data.first?.MAIN_NM ?? "", MAIN_MEMO: data.first?.MAIN_MEMO ?? "") return cell
Swift
복사
.MAIN_LIST 추가
마지막으로 MainSection 뷰에 UI를 붙이기 위해
if let gongGongIndex = self.mainModel?.MAIN_LIST?.firstIndex(where: { $0.MAIN_ID == "MAIN_2" }) { if let gongGongData = self.mainModel?.MAIN_LIST?[gongGongIndex] { self.tempmainData.append(CustomMainData(mainSection: MAIN_SECTION.MAIN_LIST.rawValue, value: [gongGongData])) } } else { self.tempmainData.append(CustomMainData(mainSection: MAIN_SECTION.MAIN_LIST.rawValue, value: [])) }
Swift
복사
요렇게 추가해주면
이렇게 잘 나온다!
before
after