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 | 112 | 19AD65AE2BA177C20045A444 /* CNLiveShopGoodsDetailsTableHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19AD65AD2BA177C20045A444 /* CNLiveShopGoodsDetailsTableHeaderView.swift */; }; |
| 113 | 113 | 19B153CB2BC3E1870018906C /* CNLiveShopPayController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19B153CA2BC3E1870018906C /* CNLiveShopPayController.swift */; }; |
| 114 | 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 | 116 | 19BB1FDF2AEA3A450094D962 /* CNSlideBaseNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19BB1FDE2AEA3A450094D962 /* CNSlideBaseNavigationController.swift */; }; |
| 116 | 117 | 19BB1FE12AEB5C220094D962 /* CNLiveShopConsoleController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19BB1FE02AEB5C220094D962 /* CNLiveShopConsoleController.swift */; }; |
| 117 | 118 | 19BB1FE32AEB8B7C0094D962 /* CNLiveShopConsoleViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19BB1FE22AEB8B7C0094D962 /* CNLiveShopConsoleViewModel.swift */; }; |
| ... | ... | @@ -383,6 +384,7 @@ |
| 383 | 384 | 19AD65AD2BA177C20045A444 /* CNLiveShopGoodsDetailsTableHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopGoodsDetailsTableHeaderView.swift; sourceTree = "<group>"; }; |
| 384 | 385 | 19B153CA2BC3E1870018906C /* CNLiveShopPayController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopPayController.swift; sourceTree = "<group>"; }; |
| 385 | 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 | 388 | 19BB1FDE2AEA3A450094D962 /* CNSlideBaseNavigationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNSlideBaseNavigationController.swift; sourceTree = "<group>"; }; |
| 387 | 389 | 19BB1FE02AEB5C220094D962 /* CNLiveShopConsoleController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopConsoleController.swift; sourceTree = "<group>"; }; |
| 388 | 390 | 19BB1FE22AEB8B7C0094D962 /* CNLiveShopConsoleViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopConsoleViewModel.swift; sourceTree = "<group>"; }; |
| ... | ... | @@ -984,6 +986,7 @@ |
| 984 | 986 | 19BB1FE52AEB93B80094D962 /* CNLiveShopUserInfoModel.swift */, |
| 985 | 987 | 19BB1FE72AECAD060094D962 /* CNLiveShopConsoleModel.swift */, |
| 986 | 988 | 19BB1FEF2AF0E5B30094D962 /* CNLiveShopDetailModel.swift */, |
| 989 | + 19B153CE2BC540FF0018906C /* CNLivePayOrderInfoModel.swift */, | |
| 987 | 990 | ); |
| 988 | 991 | path = Model; |
| 989 | 992 | sourceTree = "<group>"; |
| ... | ... | @@ -1806,6 +1809,7 @@ |
| 1806 | 1809 | 19123FC12ABC11170075C883 /* CNWebViewController.swift in Sources */, |
| 1807 | 1810 | 1926C28F2AE0D76C00C71DC3 /* CNLiveDownSlideViewModel.swift in Sources */, |
| 1808 | 1811 | 790D019D2A2DCBD000C5978D /* UIView+CNLiveExtensions.swift in Sources */, |
| 1812 | + 19B153CF2BC540FF0018906C /* CNLivePayOrderInfoModel.swift in Sources */, | |
| 1809 | 1813 | 7C7C62F62A4D72E9007A912E /* CNLiveIdentityDB.swift in Sources */, |
| 1810 | 1814 | 191732E52B05FFE8007BCC04 /* CNLiveModalPresentationViewController.swift in Sources */, |
| 1811 | 1815 | 799172342AF08D3200DC01A8 /* CNLiveShopViewModel.swift in Sources */, | ... | ... |
metaCode/Classes/Main/HomePage/Controller/ShopPayController/CNLiveShopPayController.swift
| ... | ... | @@ -7,10 +7,49 @@ |
| 7 | 7 | |
| 8 | 8 | import Foundation |
| 9 | 9 | |
| 10 | +//支付完成回调 | |
| 11 | +typealias FinishPayCallBack = (_ testStr:String)->Void//_ orderInfoModel:CNLivePayOrderInfoModel | |
| 12 | + | |
| 10 | 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 | 27 | override func viewDidLoad() { |
| 13 | 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 | 121 | // let payModel = (json["payModel"] as? String) ?? "2" |
| 122 | 122 | // 现在你可以使用 orderNumber 和 payModel 进行后续操作 |
| 123 | 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 | 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 | 30 | |
| 31 | 31 | var url:URL? |
| 32 | 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 | 34 | }else{ |
| 35 | 35 | url = nil |
| 36 | 36 | } | ... | ... |
metaCode/Classes/Main/HomePage/ViewModel/CNLiveShoph5ViewModel.swift
| ... | ... | @@ -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 | +} | ... | ... |