From ca9dee557454081f898ae238e3d9963888965338 Mon Sep 17 00:00:00 2001 From: Yu Sung Date: Fri, 30 Aug 2024 17:00:05 +0900 Subject: [PATCH] =?UTF-8?q?=EC=BA=94=20=EC=B6=A9=EC=A0=84=20-=20=EA=B2=B0?= =?UTF-8?q?=EC=A0=9C=EC=88=98=EB=8B=A8=20=EC=B9=B4=EC=B9=B4=EC=98=A4?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Podfile | 4 +- Podfile.lock | 42 ++++++++++-------- .../ic_kakaopay.imageset/Contents.json | 21 +++++++++ .../ic_kakaopay.imageset/ic_kakaopay.png | Bin 0 -> 3746 bytes .../MyPage/Can/Payment/CanPgPaymentView.swift | 27 +++++++++-- .../Can/Payment/CanPgPaymentViewModel.swift | 25 ++++++----- 6 files changed, 84 insertions(+), 35 deletions(-) create mode 100644 SodaLive/Resources/Assets.xcassets/ic_kakaopay.imageset/Contents.json create mode 100644 SodaLive/Resources/Assets.xcassets/ic_kakaopay.imageset/ic_kakaopay.png diff --git a/Podfile b/Podfile index 920b610..950a2b9 100644 --- a/Podfile +++ b/Podfile @@ -6,7 +6,7 @@ target 'SodaLive' do use_frameworks! # Pods for SodaLive - pod 'BootpayUI', '4.3.0' + pod 'BootpayUI', '4.4.0' pod 'ObjectBox' end @@ -16,7 +16,7 @@ target 'SodaLive-dev' do use_frameworks! # Pods for SodaLive-dev - pod 'BootpayUI', '4.3.0' + pod 'BootpayUI', '4.4.0' pod 'ObjectBox' end diff --git a/Podfile.lock b/Podfile.lock index 80d7765..8171ae7 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -1,27 +1,31 @@ PODS: - - Alamofire (5.7.1) - - Bootpay (4.2.9): + - Alamofire (5.9.1) + - Bootpay (4.4.4): - CryptoSwift + - NVActivityIndicatorView - ObjectMapper - - BootpayUI (4.3.0): + - BootpayUI (4.4.0): - Alamofire - - Bootpay (~> 4.2.8) + - Bootpay (~> 4.4.0) - CryptoSwift - JGProgressHUD - ObjectMapper - SCLAlertView - SnapKit - SwiftyJSON - - CryptoSwift (1.7.1) + - CryptoSwift (1.8.3) - JGProgressHUD (2.2) + - NVActivityIndicatorView (5.2.0): + - NVActivityIndicatorView/Base (= 5.2.0) + - NVActivityIndicatorView/Base (5.2.0) - ObjectBox (1.8.1) - - ObjectMapper (4.2.0) + - ObjectMapper (4.4.2) - SCLAlertView (0.8) - - SnapKit (5.6.0) - - SwiftyJSON (5.0.1) + - SnapKit (5.7.1) + - SwiftyJSON (5.0.2) DEPENDENCIES: - - BootpayUI (= 4.3.0) + - BootpayUI (= 4.4.0) - ObjectBox SPEC REPOS: @@ -31,6 +35,7 @@ SPEC REPOS: - BootpayUI - CryptoSwift - JGProgressHUD + - NVActivityIndicatorView - ObjectBox - ObjectMapper - SCLAlertView @@ -38,17 +43,18 @@ SPEC REPOS: - SwiftyJSON SPEC CHECKSUMS: - Alamofire: 0123a34370cb170936ae79a8df46cc62b2edeb88 - Bootpay: d753088334a16ce99094142beb66a6610a15d84b - BootpayUI: 54dcbe59a23e0d91b07a8add8115e1a6deace0f0 - CryptoSwift: d3d18dc357932f7e6d580689e065cf1f176007c1 + Alamofire: f36a35757af4587d8e4f4bfa223ad10be2422b8c + Bootpay: ed9b04d0061931d4bb0c6a2e14dc44222168fde6 + BootpayUI: 58e4c9a23ffb65b8023ef9f3dcb1d70090599e69 + CryptoSwift: 967f37cea5a3294d9cce358f78861652155be483 JGProgressHUD: d83d7a981b85d11205e19ff8ad5bb9c40571c847 + NVActivityIndicatorView: fe52a6a68664c2df8991d7d9e3d86d8d19453c53 ObjectBox: a7900d5335218cd437cbc080b7ccc38a5211f7b4 - ObjectMapper: 1eb41f610210777375fa806bf161dc39fb832b81 + ObjectMapper: e6e4d91ff7f2861df7aecc536c92d8363f4c9677 SCLAlertView: 6a77bb2edfc65e04dbe57725546cb4107a506b85 - SnapKit: e01d52ebb8ddbc333eefe2132acf85c8227d9c25 - SwiftyJSON: 2f33a42c6fbc52764d96f13368585094bfd8aa5e + SnapKit: d612e99e678a2d3b95bf60b0705ed0a35c03484a + SwiftyJSON: f5b1bf1cd8dd53cd25887ac0eabcfd92301c6a5a -PODFILE CHECKSUM: cdff30c96e85662f4de75ddd8d54358311c1e629 +PODFILE CHECKSUM: 48980f586cd82e7704768a64fd3ca78a3c3cb0c6 -COCOAPODS: 1.14.3 +COCOAPODS: 1.15.2 diff --git a/SodaLive/Resources/Assets.xcassets/ic_kakaopay.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/ic_kakaopay.imageset/Contents.json new file mode 100644 index 0000000..ef60084 --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/ic_kakaopay.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "ic_kakaopay.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/ic_kakaopay.imageset/ic_kakaopay.png b/SodaLive/Resources/Assets.xcassets/ic_kakaopay.imageset/ic_kakaopay.png new file mode 100644 index 0000000000000000000000000000000000000000..cb967b392bdc58f468158f57a74171fba629241d GIT binary patch literal 3746 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 M07*qoM6N<$g6kMHQ~&?~ literal 0 HcmV?d00001 diff --git a/SodaLive/Sources/MyPage/Can/Payment/CanPgPaymentView.swift b/SodaLive/Sources/MyPage/Can/Payment/CanPgPaymentView.swift index bd6be03..3a9d6b3 100644 --- a/SodaLive/Sources/MyPage/Can/Payment/CanPgPaymentView.swift +++ b/SodaLive/Sources/MyPage/Can/Payment/CanPgPaymentView.swift @@ -107,7 +107,7 @@ struct CanPgPaymentView: View { Text("카드") .font(.custom( viewModel.paymentMethod == .card ? Font.bold.rawValue : Font.medium.rawValue, size: 16.7)) .foregroundColor(viewModel.paymentMethod == .card ? Color.button : Color.grayee) - .frame(width: (screenSize().width - 40) / 2) + .frame(maxWidth: .infinity) .padding(.vertical, 16.7) .background( viewModel.paymentMethod == .card ? @@ -130,7 +130,7 @@ struct CanPgPaymentView: View { Text("계좌이체") .font(.custom( viewModel.paymentMethod == .bank ? Font.bold.rawValue : Font.medium.rawValue, size: 16.7)) .foregroundColor(viewModel.paymentMethod == .bank ? Color.button : Color.grayee) - .frame(width: (screenSize().width - 40) / 2) + .frame(maxWidth: .infinity) .padding(.vertical, 16.7) .background( viewModel.paymentMethod == .bank ? @@ -156,7 +156,7 @@ struct CanPgPaymentView: View { Text("휴대폰 결제") .font(.custom( viewModel.paymentMethod == .phone ? Font.bold.rawValue : Font.medium.rawValue, size: 16.7)) .foregroundColor(viewModel.paymentMethod == .phone ? Color.button : Color.grayee) - .frame(width: (screenSize().width - 40) / 2) + .frame(maxWidth: .infinity) .padding(.vertical, 16.7) .background( viewModel.paymentMethod == .phone ? @@ -175,7 +175,26 @@ struct CanPgPaymentView: View { } } - Spacer() + Image("ic_kakaopay") + .foregroundColor(viewModel.paymentMethod == .kakaopay ? Color.button : Color.grayee) + .frame(maxWidth: .infinity) + .padding(.vertical, 8.3) + .background( + viewModel.paymentMethod == .kakaopay ? + Color.button.opacity(0.3) : + Color.gray23 + ) + .cornerRadius(10) + .overlay( + RoundedRectangle(cornerRadius: 10) + .stroke(lineWidth: 1) + .foregroundColor(viewModel.paymentMethod == .kakaopay ? Color.button : Color.gray77) + ) + .onTapGesture { + if viewModel.paymentMethod != .kakaopay { + viewModel.paymentMethod = .kakaopay + } + } } .frame(width: screenSize().width - 26.7) .padding(.top, 16.7) diff --git a/SodaLive/Sources/MyPage/Can/Payment/CanPgPaymentViewModel.swift b/SodaLive/Sources/MyPage/Can/Payment/CanPgPaymentViewModel.swift index 55eb0c0..520cc24 100644 --- a/SodaLive/Sources/MyPage/Can/Payment/CanPgPaymentViewModel.swift +++ b/SodaLive/Sources/MyPage/Can/Payment/CanPgPaymentViewModel.swift @@ -14,6 +14,7 @@ enum PaymentMethod: String { case card = "카드" case bank = "계좌이체" case phone = "휴대폰" + case kakaopay = "카카오페이" } final class CanPgPaymentViewModel: ObservableObject { @@ -51,22 +52,24 @@ final class CanPgPaymentViewModel: ObservableObject { if let data = decoded.data, decoded.success { payload.applicationId = BOOTPAY_APP_HECTO_ID - payload.pg = "세틀뱅크" + payload.pg = paymentMethod == .kakaopay ? "카카오" : "세틀뱅크" payload.orderId = "\(data.chargeId)" payload.method = paymentMethod!.rawValue - var username = UserDefaults.string(forKey: .nickname) - - if username.count > 10 { - username = "\(username.prefix(6))..." + if paymentMethod != .kakaopay { + var username = UserDefaults.string(forKey: .nickname) + + if username.count > 10 { + username = "\(username.prefix(6))..." + } + + let bootUser = BootUser() + bootUser.userId = "\(UserDefaults.int(forKey: .userId))" + bootUser.username = UserDefaults.string(forKey: .nickname) + + payload.user = bootUser } - let bootUser = BootUser() - bootUser.userId = "\(UserDefaults.int(forKey: .userId))" - bootUser.username = UserDefaults.string(forKey: .nickname) - - payload.user = bootUser - onSuccess() } else { if let message = decoded.message {