Commit 4c56116419273991c723a741d55b4c0698cd63a3
1 parent
237700ed
电商支付model , 不全
Showing
6 changed files
with
116 additions
and
5 deletions
metaCode.xcodeproj/project.pbxproj
| @@ -112,6 +112,7 @@ | @@ -112,6 +112,7 @@ | ||
| 112 | 19AD65AE2BA177C20045A444 /* CNLiveShopGoodsDetailsTableHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19AD65AD2BA177C20045A444 /* CNLiveShopGoodsDetailsTableHeaderView.swift */; }; | 112 | 19AD65AE2BA177C20045A444 /* CNLiveShopGoodsDetailsTableHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19AD65AD2BA177C20045A444 /* CNLiveShopGoodsDetailsTableHeaderView.swift */; }; |
| 113 | 19B153CB2BC3E1870018906C /* CNLiveShopPayController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19B153CA2BC3E1870018906C /* CNLiveShopPayController.swift */; }; | 113 | 19B153CB2BC3E1870018906C /* CNLiveShopPayController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19B153CA2BC3E1870018906C /* CNLiveShopPayController.swift */; }; |
| 114 | 19B153CD2BC3EB690018906C /* CNLiveShoph5ViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19B153CC2BC3EB690018906C /* CNLiveShoph5ViewModel.swift */; }; | 114 | 19B153CD2BC3EB690018906C /* CNLiveShoph5ViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19B153CC2BC3EB690018906C /* CNLiveShoph5ViewModel.swift */; }; |
| 115 | + 19B153CF2BC540FF0018906C /* CNLivePayOrderInfoModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19B153CE2BC540FF0018906C /* CNLivePayOrderInfoModel.swift */; }; | ||
| 115 | 19BB1FDF2AEA3A450094D962 /* CNSlideBaseNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19BB1FDE2AEA3A450094D962 /* CNSlideBaseNavigationController.swift */; }; | 116 | 19BB1FDF2AEA3A450094D962 /* CNSlideBaseNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19BB1FDE2AEA3A450094D962 /* CNSlideBaseNavigationController.swift */; }; |
| 116 | 19BB1FE12AEB5C220094D962 /* CNLiveShopConsoleController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19BB1FE02AEB5C220094D962 /* CNLiveShopConsoleController.swift */; }; | 117 | 19BB1FE12AEB5C220094D962 /* CNLiveShopConsoleController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19BB1FE02AEB5C220094D962 /* CNLiveShopConsoleController.swift */; }; |
| 117 | 19BB1FE32AEB8B7C0094D962 /* CNLiveShopConsoleViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19BB1FE22AEB8B7C0094D962 /* CNLiveShopConsoleViewModel.swift */; }; | 118 | 19BB1FE32AEB8B7C0094D962 /* CNLiveShopConsoleViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19BB1FE22AEB8B7C0094D962 /* CNLiveShopConsoleViewModel.swift */; }; |
| @@ -383,6 +384,7 @@ | @@ -383,6 +384,7 @@ | ||
| 383 | 19AD65AD2BA177C20045A444 /* CNLiveShopGoodsDetailsTableHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopGoodsDetailsTableHeaderView.swift; sourceTree = "<group>"; }; | 384 | 19AD65AD2BA177C20045A444 /* CNLiveShopGoodsDetailsTableHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopGoodsDetailsTableHeaderView.swift; sourceTree = "<group>"; }; |
| 384 | 19B153CA2BC3E1870018906C /* CNLiveShopPayController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopPayController.swift; sourceTree = "<group>"; }; | 385 | 19B153CA2BC3E1870018906C /* CNLiveShopPayController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopPayController.swift; sourceTree = "<group>"; }; |
| 385 | 19B153CC2BC3EB690018906C /* CNLiveShoph5ViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShoph5ViewModel.swift; sourceTree = "<group>"; }; | 386 | 19B153CC2BC3EB690018906C /* CNLiveShoph5ViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShoph5ViewModel.swift; sourceTree = "<group>"; }; |
| 387 | + 19B153CE2BC540FF0018906C /* CNLivePayOrderInfoModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLivePayOrderInfoModel.swift; sourceTree = "<group>"; }; | ||
| 386 | 19BB1FDE2AEA3A450094D962 /* CNSlideBaseNavigationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNSlideBaseNavigationController.swift; sourceTree = "<group>"; }; | 388 | 19BB1FDE2AEA3A450094D962 /* CNSlideBaseNavigationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNSlideBaseNavigationController.swift; sourceTree = "<group>"; }; |
| 387 | 19BB1FE02AEB5C220094D962 /* CNLiveShopConsoleController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopConsoleController.swift; sourceTree = "<group>"; }; | 389 | 19BB1FE02AEB5C220094D962 /* CNLiveShopConsoleController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopConsoleController.swift; sourceTree = "<group>"; }; |
| 388 | 19BB1FE22AEB8B7C0094D962 /* CNLiveShopConsoleViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopConsoleViewModel.swift; sourceTree = "<group>"; }; | 390 | 19BB1FE22AEB8B7C0094D962 /* CNLiveShopConsoleViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopConsoleViewModel.swift; sourceTree = "<group>"; }; |
| @@ -984,6 +986,7 @@ | @@ -984,6 +986,7 @@ | ||
| 984 | 19BB1FE52AEB93B80094D962 /* CNLiveShopUserInfoModel.swift */, | 986 | 19BB1FE52AEB93B80094D962 /* CNLiveShopUserInfoModel.swift */, |
| 985 | 19BB1FE72AECAD060094D962 /* CNLiveShopConsoleModel.swift */, | 987 | 19BB1FE72AECAD060094D962 /* CNLiveShopConsoleModel.swift */, |
| 986 | 19BB1FEF2AF0E5B30094D962 /* CNLiveShopDetailModel.swift */, | 988 | 19BB1FEF2AF0E5B30094D962 /* CNLiveShopDetailModel.swift */, |
| 989 | + 19B153CE2BC540FF0018906C /* CNLivePayOrderInfoModel.swift */, | ||
| 987 | ); | 990 | ); |
| 988 | path = Model; | 991 | path = Model; |
| 989 | sourceTree = "<group>"; | 992 | sourceTree = "<group>"; |
| @@ -1806,6 +1809,7 @@ | @@ -1806,6 +1809,7 @@ | ||
| 1806 | 19123FC12ABC11170075C883 /* CNWebViewController.swift in Sources */, | 1809 | 19123FC12ABC11170075C883 /* CNWebViewController.swift in Sources */, |
| 1807 | 1926C28F2AE0D76C00C71DC3 /* CNLiveDownSlideViewModel.swift in Sources */, | 1810 | 1926C28F2AE0D76C00C71DC3 /* CNLiveDownSlideViewModel.swift in Sources */, |
| 1808 | 790D019D2A2DCBD000C5978D /* UIView+CNLiveExtensions.swift in Sources */, | 1811 | 790D019D2A2DCBD000C5978D /* UIView+CNLiveExtensions.swift in Sources */, |
| 1812 | + 19B153CF2BC540FF0018906C /* CNLivePayOrderInfoModel.swift in Sources */, | ||
| 1809 | 7C7C62F62A4D72E9007A912E /* CNLiveIdentityDB.swift in Sources */, | 1813 | 7C7C62F62A4D72E9007A912E /* CNLiveIdentityDB.swift in Sources */, |
| 1810 | 191732E52B05FFE8007BCC04 /* CNLiveModalPresentationViewController.swift in Sources */, | 1814 | 191732E52B05FFE8007BCC04 /* CNLiveModalPresentationViewController.swift in Sources */, |
| 1811 | 799172342AF08D3200DC01A8 /* CNLiveShopViewModel.swift in Sources */, | 1815 | 799172342AF08D3200DC01A8 /* CNLiveShopViewModel.swift in Sources */, |
metaCode/Classes/Main/HomePage/Controller/ShopPayController/CNLiveShopPayController.swift
| @@ -7,10 +7,49 @@ | @@ -7,10 +7,49 @@ | ||
| 7 | 7 | ||
| 8 | import Foundation | 8 | import Foundation |
| 9 | 9 | ||
| 10 | +//支付完成回调 | ||
| 11 | +typealias FinishPayCallBack = (_ testStr:String)->Void//_ orderInfoModel:CNLivePayOrderInfoModel | ||
| 12 | + | ||
| 10 | class CNLiveShopPayController:CNLiveBaseViewController{ | 13 | class CNLiveShopPayController:CNLiveBaseViewController{ |
| 11 | 14 | ||
| 15 | + var finishPayCallBack:FinishPayCallBack? | ||
| 16 | + var orderNumber:String | ||
| 17 | + | ||
| 18 | + init(orderNumber:String) { | ||
| 19 | + self.orderNumber = orderNumber | ||
| 20 | + super.init(nibName: nil, bundle: nil) | ||
| 21 | + } | ||
| 22 | + | ||
| 23 | + required init?(coder: NSCoder) { | ||
| 24 | + fatalError("init(coder:) has not been implemented") | ||
| 25 | + } | ||
| 26 | + | ||
| 12 | override func viewDidLoad() { | 27 | override func viewDidLoad() { |
| 13 | super.viewDidLoad() | 28 | super.viewDidLoad() |
| 29 | + navigationBarHidden = false | ||
| 30 | + titleName = "收银台" | ||
| 31 | + self.view.backgroundColor = .white | ||
| 32 | + NotificationCenter.default.addObserver(self, selector: #selector(didBecomeActiveNotification(_:)), name: UIApplication.didBecomeActiveNotification, object: nil) | ||
| 33 | + self.getOrderInfoMessage() | ||
| 34 | + } | ||
| 35 | + // MARK: - 获取订单信息 并且进行检测 | ||
| 36 | + func getOrderInfoMessage(){ | ||
| 37 | + if self.orderNumber.count == 0{ | ||
| 38 | + return | ||
| 39 | + } | ||
| 40 | + showLoading(message: "") | ||
| 41 | + CNLiveShoph5ViewModel.postOrderPayWithParams(orderId: self.orderNumber) { result, status in | ||
| 42 | + if status == .success{ | ||
| 43 | + | ||
| 44 | + } | ||
| 45 | + } | ||
| 46 | + | ||
| 47 | + } | ||
| 48 | + | ||
| 49 | + @objc func didBecomeActiveNotification(_ notification: Notification) { | ||
| 50 | + // 处理应用变得活跃的逻辑 | ||
| 14 | 51 | ||
| 15 | } | 52 | } |
| 53 | + | ||
| 54 | + | ||
| 16 | } | 55 | } |
metaCode/Classes/Main/HomePage/Controller/WebController/CNWebView.swift
| @@ -121,9 +121,15 @@ class CNWebView:UIView,WKNavigationDelegate, WKScriptMessageHandler{ | @@ -121,9 +121,15 @@ class CNWebView:UIView,WKNavigationDelegate, WKScriptMessageHandler{ | ||
| 121 | // let payModel = (json["payModel"] as? String) ?? "2" | 121 | // let payModel = (json["payModel"] as? String) ?? "2" |
| 122 | // 现在你可以使用 orderNumber 和 payModel 进行后续操作 | 122 | // 现在你可以使用 orderNumber 和 payModel 进行后续操作 |
| 123 | print("orderNumber: \(orderNumber)") | 123 | print("orderNumber: \(orderNumber)") |
| 124 | + let vc = CNLiveShopPayController(orderNumber: orderNumber) | ||
| 125 | + vc.finishPayCallBack = { [weak self] testStr in | ||
| 126 | + print(testStr) | ||
| 127 | + self?.cnWebView.evaluateJavaScript(String(format: "appPaymentCallback('%@')", <#T##arguments: CVarArg...##CVarArg#>), completionHandler: { result, error in | ||
| 128 | + | ||
| 129 | + }) | ||
| 130 | + } | ||
| 124 | // 跳转支付页面 | 131 | // 跳转支付页面 |
| 125 | - | ||
| 126 | -// navigationViewController().pushViewController(<#T##viewController: UIViewController##UIViewController#>, animated: pushAnimated) | 132 | + navigationViewController().pushViewController(vc, animated: pushAnimated) |
| 127 | } | 133 | } |
| 128 | }else if message.name == "pop" { | 134 | }else if message.name == "pop" { |
| 129 | //返回上一级控制器 | 135 | //返回上一级控制器 |
metaCode/Classes/Main/HomePage/View/VerticalViews/UpSlide/CNUpSlideView.swift
| @@ -30,7 +30,7 @@ class CNUpSlideView:UIView{ | @@ -30,7 +30,7 @@ class CNUpSlideView:UIView{ | ||
| 30 | 30 | ||
| 31 | var url:URL? | 31 | var url:URL? |
| 32 | if (_downPath != ""){ | 32 | if (_downPath != ""){ |
| 33 | - url = URL.init(string: _downPath!)//"https://managemall.cnlive.com/html/mall/1/#/pages/main/goodsList/goodsList?scene=app")// | 33 | + url = URL.init(string: "https://managemall.cnlive.com/html/mall/1/#/pages/main/goodsList/goodsList?scene=app")//_downPath!)// |
| 34 | }else{ | 34 | }else{ |
| 35 | url = nil | 35 | url = nil |
| 36 | } | 36 | } |
metaCode/Classes/Main/HomePage/ViewModel/CNLiveShoph5ViewModel.swift
| @@ -40,7 +40,32 @@ class CNLiveShoph5ViewModel:NSObject{ | @@ -40,7 +40,32 @@ class CNLiveShoph5ViewModel:NSObject{ | ||
| 40 | } | 40 | } |
| 41 | } | 41 | } |
| 42 | 42 | ||
| 43 | - | ||
| 44 | - | 43 | + /* |
| 44 | + 支付订单信息 | ||
| 45 | + 参数 orderId 订单号 | ||
| 46 | + */ | ||
| 47 | + static func postOrderPayWithParams(orderId:String,resultBlock: @escaping downSlideResultBlock) { | ||
| 48 | + let param = NSMutableDictionary() | ||
| 49 | + param.setValue(orderId, forKey: "orderId") | ||
| 50 | + | ||
| 51 | + CNLiveNetworking.setAllowRequestDefaultArgument(true) | ||
| 52 | + CNLiveNetworking.setupShowDataResult(false) | ||
| 53 | + CNLiveNetworking.setupDSRequest(true) | ||
| 54 | + let custom_param = NSMutableDictionary() | ||
| 55 | + custom_param.setValue(CNLiveMCEnvironmentManager.shared.appId_wjj, forKey: "appId") | ||
| 56 | + custom_param.setValue(CNLiveMCEnvironmentManager.shared.appKey_wjj, forKey: "appKey") | ||
| 57 | + CNLiveNetworking.setupCustomParam(custom_param as? [String : String]) | ||
| 58 | + CNLiveNetworking.requestNetwork(with: .POST, urlString: APPBaseWjjShopUrl+"/Api/Index3/orderPay", param: param as! [String : String], cacheType: .networkOnly) { task, result, error in | ||
| 59 | + hiddenLoading() | ||
| 60 | + if (error == nil) { | ||
| 61 | + let resp = result as! NSDictionary | ||
| 62 | + let dataDic = resp["data"] as! NSDictionary | ||
| 63 | + let orderModel = newDictionaryToModel(dataDic as! [String : Any], CNLivePayOrderInfoModel.self) | ||
| 64 | + resultBlock(orderModel,.success) | ||
| 65 | + }else{ | ||
| 66 | + resultBlock(NSNull(),.failed) | ||
| 67 | + } | ||
| 68 | + } | ||
| 69 | + } | ||
| 45 | 70 | ||
| 46 | } | 71 | } |
metaCode/Classes/Main/Model/CNLivePayOrderInfoModel.swift
0 → 100644
| 1 | +// | ||
| 2 | +// CNLivePayOrderInfoModel.swift | ||
| 3 | +// metaCode | ||
| 4 | +// | ||
| 5 | +// Created by zx on 2024/4/9. | ||
| 6 | +// 电商h5支付订单model | ||
| 7 | + | ||
| 8 | +import Foundation | ||
| 9 | + | ||
| 10 | +class CNLivePayOrderInfoModel:BaseModel{ | ||
| 11 | + ///订单id | ||
| 12 | + var id: String = "" | ||
| 13 | + ///订单号 | ||
| 14 | + var orderId: String = "" | ||
| 15 | + ///订单信息 | ||
| 16 | + var body: String = "" | ||
| 17 | + ///总价(分) | ||
| 18 | + var totalMoney: String = "" | ||
| 19 | + ///回调地址 | ||
| 20 | + var notify_url: String = "" | ||
| 21 | + ///优惠金额(分) | ||
| 22 | + var couponMoney: String = "" | ||
| 23 | + ///用户id | ||
| 24 | + var user_id: String = "" | ||
| 25 | + ///收款人id | ||
| 26 | + var toId: String = "" | ||
| 27 | + ///收款人类型(1个人 2群组 3达人) | ||
| 28 | + var toType: String = "" | ||
| 29 | + ///支付人类型(1个人 2群组 3达人) | ||
| 30 | + var fromType: String = "" | ||
| 31 | + ///支付类型 foods_order餐厅订单 mall_order商城订单 | ||
| 32 | + var sourceType: String = "" | ||
| 33 | + ///是否为公会限购订单(1:是 0:不是) | ||
| 34 | + var is_limit: String = "" | ||
| 35 | + ///integral > 0 为积分订单 | ||
| 36 | + var integral: String = "" | ||
| 37 | +} |