Commit c60aca44b0eec9332b5caddb8109c50f420b7a26
1 parent
e9ea7bd9
物流详情提交
Showing
13 changed files
with
306 additions
and
31 deletions
metaCode.xcodeproj/project.pbxproj
| @@ -70,6 +70,7 @@ | @@ -70,6 +70,7 @@ | ||
| 70 | 79282A402A2F055100B5F8CF /* CNLiveConfigUserInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79282A3F2A2F055100B5F8CF /* CNLiveConfigUserInfo.swift */; }; | 70 | 79282A402A2F055100B5F8CF /* CNLiveConfigUserInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79282A3F2A2F055100B5F8CF /* CNLiveConfigUserInfo.swift */; }; |
| 71 | 79282A442A2F1C1E00B5F8CF /* CNLiveLoginAuthView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79282A432A2F1C1E00B5F8CF /* CNLiveLoginAuthView.swift */; }; | 71 | 79282A442A2F1C1E00B5F8CF /* CNLiveLoginAuthView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79282A432A2F1C1E00B5F8CF /* CNLiveLoginAuthView.swift */; }; |
| 72 | 79282A462A2F457D00B5F8CF /* CNLiveMineViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79282A452A2F457D00B5F8CF /* CNLiveMineViewController.swift */; }; | 72 | 79282A462A2F457D00B5F8CF /* CNLiveMineViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79282A452A2F457D00B5F8CF /* CNLiveMineViewController.swift */; }; |
| 73 | + 792B53282AFCD7640009AB49 /* CNLiveShopOrderExpressDetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 792B53272AFCD7640009AB49 /* CNLiveShopOrderExpressDetailViewController.swift */; }; | ||
| 73 | 792E57D92A3AA2F2005834DB /* CNLiveCommonBaseModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 792E57D82A3AA2F2005834DB /* CNLiveCommonBaseModel.swift */; }; | 74 | 792E57D92A3AA2F2005834DB /* CNLiveCommonBaseModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 792E57D82A3AA2F2005834DB /* CNLiveCommonBaseModel.swift */; }; |
| 74 | 792E57DB2A3AE9F4005834DB /* CNLiveCommonQiniuTool.swift in Sources */ = {isa = PBXBuildFile; fileRef = 792E57DA2A3AE9F4005834DB /* CNLiveCommonQiniuTool.swift */; }; | 75 | 792E57DB2A3AE9F4005834DB /* CNLiveCommonQiniuTool.swift in Sources */ = {isa = PBXBuildFile; fileRef = 792E57DA2A3AE9F4005834DB /* CNLiveCommonQiniuTool.swift */; }; |
| 75 | 79396EED2A319F220053E1AF /* NSObject+CNLiveExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79396EEC2A319F220053E1AF /* NSObject+CNLiveExtensions.swift */; }; | 76 | 79396EED2A319F220053E1AF /* NSObject+CNLiveExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79396EEC2A319F220053E1AF /* NSObject+CNLiveExtensions.swift */; }; |
| @@ -234,6 +235,7 @@ | @@ -234,6 +235,7 @@ | ||
| 234 | 79282A3F2A2F055100B5F8CF /* CNLiveConfigUserInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveConfigUserInfo.swift; sourceTree = "<group>"; }; | 235 | 79282A3F2A2F055100B5F8CF /* CNLiveConfigUserInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveConfigUserInfo.swift; sourceTree = "<group>"; }; |
| 235 | 79282A432A2F1C1E00B5F8CF /* CNLiveLoginAuthView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveLoginAuthView.swift; sourceTree = "<group>"; }; | 236 | 79282A432A2F1C1E00B5F8CF /* CNLiveLoginAuthView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveLoginAuthView.swift; sourceTree = "<group>"; }; |
| 236 | 79282A452A2F457D00B5F8CF /* CNLiveMineViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveMineViewController.swift; sourceTree = "<group>"; }; | 237 | 79282A452A2F457D00B5F8CF /* CNLiveMineViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveMineViewController.swift; sourceTree = "<group>"; }; |
| 238 | + 792B53272AFCD7640009AB49 /* CNLiveShopOrderExpressDetailViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopOrderExpressDetailViewController.swift; sourceTree = "<group>"; }; | ||
| 237 | 792E57D82A3AA2F2005834DB /* CNLiveCommonBaseModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveCommonBaseModel.swift; sourceTree = "<group>"; }; | 239 | 792E57D82A3AA2F2005834DB /* CNLiveCommonBaseModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveCommonBaseModel.swift; sourceTree = "<group>"; }; |
| 238 | 792E57DA2A3AE9F4005834DB /* CNLiveCommonQiniuTool.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveCommonQiniuTool.swift; sourceTree = "<group>"; }; | 240 | 792E57DA2A3AE9F4005834DB /* CNLiveCommonQiniuTool.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveCommonQiniuTool.swift; sourceTree = "<group>"; }; |
| 239 | 79396EEC2A319F220053E1AF /* NSObject+CNLiveExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSObject+CNLiveExtensions.swift"; sourceTree = "<group>"; }; | 241 | 79396EEC2A319F220053E1AF /* NSObject+CNLiveExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSObject+CNLiveExtensions.swift"; sourceTree = "<group>"; }; |
| @@ -703,6 +705,7 @@ | @@ -703,6 +705,7 @@ | ||
| 703 | 791C1C852AFB2EB4003E6362 /* CNLiveShopOrderExpressViewController.swift */, | 705 | 791C1C852AFB2EB4003E6362 /* CNLiveShopOrderExpressViewController.swift */, |
| 704 | 791C1C872AFB6FD7003E6362 /* CNLiveShopOrderExpressFirmViewController.swift */, | 706 | 791C1C872AFB6FD7003E6362 /* CNLiveShopOrderExpressFirmViewController.swift */, |
| 705 | 791C1C892AFB84EE003E6362 /* CNLiveShopOrderExpressListViewController.swift */, | 707 | 791C1C892AFB84EE003E6362 /* CNLiveShopOrderExpressListViewController.swift */, |
| 708 | + 792B53272AFCD7640009AB49 /* CNLiveShopOrderExpressDetailViewController.swift */, | ||
| 706 | ); | 709 | ); |
| 707 | path = Controller; | 710 | path = Controller; |
| 708 | sourceTree = "<group>"; | 711 | sourceTree = "<group>"; |
| @@ -1131,6 +1134,7 @@ | @@ -1131,6 +1134,7 @@ | ||
| 1131 | 19BB1FF02AF0E5B30094D962 /* CNLiveShopDetailModel.swift in Sources */, | 1134 | 19BB1FF02AF0E5B30094D962 /* CNLiveShopDetailModel.swift in Sources */, |
| 1132 | 796398942A260C0100D045EB /* AppDelegate.swift in Sources */, | 1135 | 796398942A260C0100D045EB /* AppDelegate.swift in Sources */, |
| 1133 | 7989B5C72A4BDC7200A19B10 /* CNLiveMineEarnListViewController.swift in Sources */, | 1136 | 7989B5C72A4BDC7200A19B10 /* CNLiveMineEarnListViewController.swift in Sources */, |
| 1137 | + 792B53282AFCD7640009AB49 /* CNLiveShopOrderExpressDetailViewController.swift in Sources */, | ||
| 1134 | 79396EF12A31C21B0053E1AF /* CNLiveInfoShowViewController.swift in Sources */, | 1138 | 79396EF12A31C21B0053E1AF /* CNLiveInfoShowViewController.swift in Sources */, |
| 1135 | 192336EB2AD9224300D47CD4 /* CNUpSlideViewController.swift in Sources */, | 1139 | 192336EB2AD9224300D47CD4 /* CNUpSlideViewController.swift in Sources */, |
| 1136 | 19565ECB2AF8C59C007D6727 /* CNLiveShopGoodsListModel.swift in Sources */, | 1140 | 19565ECB2AF8C59C007D6727 /* CNLiveShopGoodsListModel.swift in Sources */, |
| @@ -1435,7 +1439,7 @@ | @@ -1435,7 +1439,7 @@ | ||
| 1435 | ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; | 1439 | ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; |
| 1436 | CLANG_ENABLE_MODULES = YES; | 1440 | CLANG_ENABLE_MODULES = YES; |
| 1437 | CODE_SIGN_STYLE = Automatic; | 1441 | CODE_SIGN_STYLE = Automatic; |
| 1438 | - CURRENT_PROJECT_VERSION = 1.0.1.23.11.09.13; | 1442 | + CURRENT_PROJECT_VERSION = 1.0.1.23.11.09.17; |
| 1439 | DEVELOPMENT_TEAM = 94X49GG3ZW; | 1443 | DEVELOPMENT_TEAM = 94X49GG3ZW; |
| 1440 | EXCLUDED_ARCHS = ""; | 1444 | EXCLUDED_ARCHS = ""; |
| 1441 | GENERATE_INFOPLIST_FILE = YES; | 1445 | GENERATE_INFOPLIST_FILE = YES; |
| @@ -1480,7 +1484,7 @@ | @@ -1480,7 +1484,7 @@ | ||
| 1480 | ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; | 1484 | ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; |
| 1481 | CLANG_ENABLE_MODULES = YES; | 1485 | CLANG_ENABLE_MODULES = YES; |
| 1482 | CODE_SIGN_STYLE = Automatic; | 1486 | CODE_SIGN_STYLE = Automatic; |
| 1483 | - CURRENT_PROJECT_VERSION = 1.0.1.23.11.09.13; | 1487 | + CURRENT_PROJECT_VERSION = 1.0.1.23.11.09.17; |
| 1484 | DEVELOPMENT_TEAM = 94X49GG3ZW; | 1488 | DEVELOPMENT_TEAM = 94X49GG3ZW; |
| 1485 | EXCLUDED_ARCHS = ""; | 1489 | EXCLUDED_ARCHS = ""; |
| 1486 | GENERATE_INFOPLIST_FILE = YES; | 1490 | GENERATE_INFOPLIST_FILE = YES; |
metaCode/Classes/Main/LoginPage/ViewModel/CNLiveLoginViewModel.swift
| @@ -37,9 +37,13 @@ class CNLiveLoginViewModel : NSObject { | @@ -37,9 +37,13 @@ class CNLiveLoginViewModel : NSObject { | ||
| 37 | } | 37 | } |
| 38 | showLoading(message: "") | 38 | showLoading(message: "") |
| 39 | let param = ["mobile":phone,"countryCode":code] | 39 | let param = ["mobile":phone,"countryCode":code] |
| 40 | + let custom_param = NSMutableDictionary() | ||
| 41 | + custom_param.setValue(APPId, forKey: "appId") | ||
| 42 | + custom_param.setValue(APPKey, forKey: "appKey") | ||
| 43 | + CNLiveNetworking.setupCustomParam(custom_param as? [String : String]) | ||
| 40 | CNLiveNetworking.setAllowRequestDefaultArgument(true) | 44 | CNLiveNetworking.setAllowRequestDefaultArgument(true) |
| 41 | CNLiveNetworking.setupShowDataResult(false) | 45 | CNLiveNetworking.setupShowDataResult(false) |
| 42 | - CNLiveNetworking.requestNetwork(with: .POST, urlString: "/open/api2/user/sendVerifyCode", param: param, cacheType: .networkOnly) { task, result, error in | 46 | + CNLiveNetworking.requestNetwork(with: .POST, urlString: APPLoginHost+"/open/api2/user/sendVerifyCode", param: param, cacheType: .networkOnly) { task, result, error in |
| 43 | hiddenLoading() | 47 | hiddenLoading() |
| 44 | if (error == nil) { | 48 | if (error == nil) { |
| 45 | let resp = result as! NSDictionary | 49 | let resp = result as! NSDictionary |
| @@ -90,9 +94,13 @@ class CNLiveLoginViewModel : NSObject { | @@ -90,9 +94,13 @@ class CNLiveLoginViewModel : NSObject { | ||
| 90 | 94 | ||
| 91 | showLoading(message: "") | 95 | showLoading(message: "") |
| 92 | let param = ["userName":userName,"countryCode":countryCode,"verificationCode":verCode,"inviterId":""] | 96 | let param = ["userName":userName,"countryCode":countryCode,"verificationCode":verCode,"inviterId":""] |
| 97 | + let custom_param = NSMutableDictionary() | ||
| 98 | + custom_param.setValue(APPId, forKey: "appId") | ||
| 99 | + custom_param.setValue(APPKey, forKey: "appKey") | ||
| 100 | + CNLiveNetworking.setupCustomParam(custom_param as? [String : String]) | ||
| 93 | CNLiveNetworking.setAllowRequestDefaultArgument(true) | 101 | CNLiveNetworking.setAllowRequestDefaultArgument(true) |
| 94 | CNLiveNetworking.setupShowDataResult(false) | 102 | CNLiveNetworking.setupShowDataResult(false) |
| 95 | - CNLiveNetworking.requestNetwork(with: .POST, urlString: "/open/api2/user/loginInMetaCode", param: param, cacheType: .networkOnly) { task, result, error in | 103 | + CNLiveNetworking.requestNetwork(with: .POST, urlString: APPLoginHost+"/open/api2/user/loginInMetaCode", param: param, cacheType: .networkOnly) { task, result, error in |
| 96 | hiddenLoading() | 104 | hiddenLoading() |
| 97 | if (error == nil) { | 105 | if (error == nil) { |
| 98 | let resp = result as! NSDictionary | 106 | let resp = result as! NSDictionary |
metaCode/Classes/Main/MinePage/Controller/CNLiveMineViewController.swift
| @@ -46,8 +46,9 @@ class CNLiveMineViewController : CNLiveBaseViewController, UITableViewDelegate, | @@ -46,8 +46,9 @@ class CNLiveMineViewController : CNLiveBaseViewController, UITableViewDelegate, | ||
| 46 | dataArray.add(array03) | 46 | dataArray.add(array03) |
| 47 | 47 | ||
| 48 | 48 | ||
| 49 | -// let array04 : [Dictionary] = [["name":"订单列表","icon":"mine_list_icon_help_feedback"]] | ||
| 50 | -// dataArray.add(array04) | 49 | +// dataArray.add([["name":"订单列表","icon":"mine_list_icon_help_feedback"]]) |
| 50 | + | ||
| 51 | + | ||
| 51 | return dataArray | 52 | return dataArray |
| 52 | }() | 53 | }() |
| 53 | 54 | ||
| @@ -170,9 +171,9 @@ extension CNLiveMineViewController { | @@ -170,9 +171,9 @@ extension CNLiveMineViewController { | ||
| 170 | self.navigationController?.pushViewController(CNLiveTypeFeedBackViewController.init(show_type: .setting), animated: true) | 171 | self.navigationController?.pushViewController(CNLiveTypeFeedBackViewController.init(show_type: .setting), animated: true) |
| 171 | } | 172 | } |
| 172 | 173 | ||
| 173 | -// if indexPath.section == 4 { | ||
| 174 | -// self.navigationController?.pushViewController(CNLiveShopOrderViewController.init(), animated: true) | ||
| 175 | -// } | 174 | + if indexPath.section == 4 { |
| 175 | + self.navigationController?.pushViewController(CNLiveShopOrderViewController.init(), animated: true) | ||
| 176 | + } | ||
| 176 | 177 | ||
| 177 | } | 178 | } |
| 178 | 179 |
metaCode/Classes/Main/MinePage/View/CNLiveMineInfoAlertView.swift
| @@ -715,12 +715,13 @@ class MineStandListAlertView: UIView, UIPickerViewDelegate, UIPickerViewDataSour | @@ -715,12 +715,13 @@ class MineStandListAlertView: UIView, UIPickerViewDelegate, UIPickerViewDataSour | ||
| 715 | let pickerView = MineStandListAlertView.init(frame: .zero, infos: infos, show_type: show_type) | 715 | let pickerView = MineStandListAlertView.init(frame: .zero, infos: infos, show_type: show_type) |
| 716 | pickerView.result = result | 716 | pickerView.result = result |
| 717 | pickerView.nameLable.text = name | 717 | pickerView.nameLable.text = name |
| 718 | - let window = UIApplication.shared.windows.last | ||
| 719 | - window?.addSubview(pickerView) | 718 | + let delegate = UIApplication.shared.delegate as! AppDelegate |
| 719 | +// let window = UIApplication.shared.windows.last | ||
| 720 | + delegate.window?.addSubview(pickerView) | ||
| 720 | pickerView.snp.makeConstraints { make in | 721 | pickerView.snp.makeConstraints { make in |
| 721 | make.edges.equalToSuperview() | 722 | make.edges.equalToSuperview() |
| 722 | } | 723 | } |
| 723 | - window?.layoutIfNeeded() | 724 | + delegate.window?.layoutIfNeeded() |
| 724 | pickerView.alpha = 0 | 725 | pickerView.alpha = 0 |
| 725 | UIView.animate(withDuration: 0.1) { | 726 | UIView.animate(withDuration: 0.1) { |
| 726 | pickerView.alpha = 1 | 727 | pickerView.alpha = 1 |
metaCode/Classes/Main/MinePage/View/CNLiveMineInputMessageView.swift
| @@ -210,7 +210,7 @@ class MineInputTextShopCustomView: UIView, UITextViewDelegate, UITextFieldDelega | @@ -210,7 +210,7 @@ class MineInputTextShopCustomView: UIView, UITextViewDelegate, UITextFieldDelega | ||
| 210 | make.centerY.equalToSuperview() | 210 | make.centerY.equalToSuperview() |
| 211 | } | 211 | } |
| 212 | make.left.equalToSuperview().offset(10) | 212 | make.left.equalToSuperview().offset(10) |
| 213 | - make.width.lessThanOrEqualTo(adapt_length(length: 150)) | 213 | + make.width.lessThanOrEqualTo(adapt_length(length: 160)) |
| 214 | } | 214 | } |
| 215 | addSubview(contentTextField) | 215 | addSubview(contentTextField) |
| 216 | contentTextField.snp.makeConstraints { make in | 216 | contentTextField.snp.makeConstraints { make in |
metaCode/Classes/Main/MinePage/ViewModel/CNLiveMineViewModel.swift
| @@ -67,7 +67,7 @@ class CNLiveMineViewModel: NSObject { | @@ -67,7 +67,7 @@ class CNLiveMineViewModel: NSObject { | ||
| 67 | showLoading(message: "") | 67 | showLoading(message: "") |
| 68 | CNLiveNetworking.setAllowRequestDefaultArgument(true) | 68 | CNLiveNetworking.setAllowRequestDefaultArgument(true) |
| 69 | CNLiveNetworking.setupShowDataResult(false) | 69 | CNLiveNetworking.setupShowDataResult(false) |
| 70 | - CNLiveNetworking.requestNetwork(with: .POST, urlString: "/open/api2/user/updateUserById", param: param as! [String : Any], cacheType: .networkOnly) { task, result, error in | 70 | + CNLiveNetworking.requestNetwork(with: .POST, urlString: APPLoginHost+"/open/api2/user/updateUserById", param: param as! [String : Any], cacheType: .networkOnly) { task, result, error in |
| 71 | hiddenLoading() | 71 | hiddenLoading() |
| 72 | if (error == nil) { | 72 | if (error == nil) { |
| 73 | let resp = result as! NSDictionary | 73 | let resp = result as! NSDictionary |
| @@ -103,7 +103,7 @@ class CNLiveMineViewModel: NSObject { | @@ -103,7 +103,7 @@ class CNLiveMineViewModel: NSObject { | ||
| 103 | CNLiveNetworking.setAllowRequestDefaultArgument(true) | 103 | CNLiveNetworking.setAllowRequestDefaultArgument(true) |
| 104 | CNLiveNetworking.setupShowDataResult(false) | 104 | CNLiveNetworking.setupShowDataResult(false) |
| 105 | CNLiveNetworking.setupShowResult(true) | 105 | CNLiveNetworking.setupShowResult(true) |
| 106 | - CNLiveNetworking.uploadNetwork(withURLString: "/open/api2/user/updateUserFaceById", param: param as? [AnyHashable : Any]) { formData in | 106 | + CNLiveNetworking.uploadNetwork(withURLString: APPLoginHost+"/open/api2/user/updateUserFaceById", param: param as? [AnyHashable : Any]) { formData in |
| 107 | let imageData = image.imageWithZip() | 107 | let imageData = image.imageWithZip() |
| 108 | formData?.appendPart(withFileData: imageData as Data, name: "face", fileName: ".jpg", mimeType: "image/jpg") | 108 | formData?.appendPart(withFileData: imageData as Data, name: "face", fileName: ".jpg", mimeType: "image/jpg") |
| 109 | } progressBlock: { progress in | 109 | } progressBlock: { progress in |
| @@ -146,7 +146,7 @@ class CNLiveMineViewModel: NSObject { | @@ -146,7 +146,7 @@ class CNLiveMineViewModel: NSObject { | ||
| 146 | showLoading(message: "") | 146 | showLoading(message: "") |
| 147 | CNLiveNetworking.setAllowRequestDefaultArgument(false) | 147 | CNLiveNetworking.setAllowRequestDefaultArgument(false) |
| 148 | CNLiveNetworking.setupShowDataResult(false) | 148 | CNLiveNetworking.setupShowDataResult(false) |
| 149 | - CNLiveNetworking.requestNetwork(with: .POST, urlString: "/open/api2/token", param: (param as! [AnyHashable : Any]), cacheType: .networkOnly) { task, result, error in | 149 | + CNLiveNetworking.requestNetwork(with: .POST, urlString: APPLoginHost+"/open/api2/token", param: (param as! [AnyHashable : Any]), cacheType: .networkOnly) { task, result, error in |
| 150 | hiddenLoading() | 150 | hiddenLoading() |
| 151 | if (error == nil) { | 151 | if (error == nil) { |
| 152 | let resp = result as! NSDictionary | 152 | let resp = result as! NSDictionary |
| @@ -198,6 +198,10 @@ class CNLiveMineViewModel: NSObject { | @@ -198,6 +198,10 @@ class CNLiveMineViewModel: NSObject { | ||
| 198 | param.setValue(Bundle.main.infoDictionary?["CFBundleVersion"] as! String, forKey: "version") | 198 | param.setValue(Bundle.main.infoDictionary?["CFBundleVersion"] as! String, forKey: "version") |
| 199 | param.setValue(UIDevice.current.identifierForVendor?.uuidString.replacingOccurrences(of: "-", with: "") ?? "", forKey: "deviceId") | 199 | param.setValue(UIDevice.current.identifierForVendor?.uuidString.replacingOccurrences(of: "-", with: "") ?? "", forKey: "deviceId") |
| 200 | showLoading(message: "") | 200 | showLoading(message: "") |
| 201 | + let custom_param = NSMutableDictionary() | ||
| 202 | + custom_param.setValue(APPId, forKey: "appId") | ||
| 203 | + custom_param.setValue(APPKey, forKey: "appKey") | ||
| 204 | + CNLiveNetworking.setupCustomParam(custom_param as? [String : String]) | ||
| 201 | CNLiveNetworking.setAllowRequestDefaultArgument(true) | 205 | CNLiveNetworking.setAllowRequestDefaultArgument(true) |
| 202 | CNLiveNetworking.setupShowDataResult(false) | 206 | CNLiveNetworking.setupShowDataResult(false) |
| 203 | CNLiveNetworking.requestNetwork(with: .POST, urlString: APPBaseMCUrl+"/commonApi/collectFeedback", param: param as! [String : String], cacheType: .networkOnly) { task, result, error in | 207 | CNLiveNetworking.requestNetwork(with: .POST, urlString: APPBaseMCUrl+"/commonApi/collectFeedback", param: param as! [String : String], cacheType: .networkOnly) { task, result, error in |
| @@ -222,6 +226,10 @@ class CNLiveMineViewModel: NSObject { | @@ -222,6 +226,10 @@ class CNLiveMineViewModel: NSObject { | ||
| 222 | /// - Parameter resultBlock: 结果返回 | 226 | /// - Parameter resultBlock: 结果返回 |
| 223 | static func requestMessage(resultBlock: @escaping resultNewsBlock) { | 227 | static func requestMessage(resultBlock: @escaping resultNewsBlock) { |
| 224 | showLoading(message: "") | 228 | showLoading(message: "") |
| 229 | + let custom_param = NSMutableDictionary() | ||
| 230 | + custom_param.setValue(APPId, forKey: "appId") | ||
| 231 | + custom_param.setValue(APPKey, forKey: "appKey") | ||
| 232 | + CNLiveNetworking.setupCustomParam(custom_param as? [String : String]) | ||
| 225 | CNLiveNetworking.setAllowRequestDefaultArgument(true) | 233 | CNLiveNetworking.setAllowRequestDefaultArgument(true) |
| 226 | CNLiveNetworking.setupShowDataResult(false) | 234 | CNLiveNetworking.setupShowDataResult(false) |
| 227 | CNLiveNetworking.requestNetwork(with: .GET, urlString: APPBaseMCUrl+"/newsApi/getNews", param: ["sid":UserInfoManager.shared.userInfo.uid], cacheType: .networkOnly) { task, result, error in | 235 | CNLiveNetworking.requestNetwork(with: .GET, urlString: APPBaseMCUrl+"/newsApi/getNews", param: ["sid":UserInfoManager.shared.userInfo.uid], cacheType: .networkOnly) { task, result, error in |
| @@ -257,6 +265,10 @@ class CNLiveMineViewModel: NSObject { | @@ -257,6 +265,10 @@ class CNLiveMineViewModel: NSObject { | ||
| 257 | param.setValue(UserInfoManager.shared.userInfo.uid, forKey: "sid") | 265 | param.setValue(UserInfoManager.shared.userInfo.uid, forKey: "sid") |
| 258 | param.setValue("30", forKey: "pageSize") | 266 | param.setValue("30", forKey: "pageSize") |
| 259 | param.setValue("\(page)", forKey: "page") | 267 | param.setValue("\(page)", forKey: "page") |
| 268 | + let custom_param = NSMutableDictionary() | ||
| 269 | + custom_param.setValue(APPId, forKey: "appId") | ||
| 270 | + custom_param.setValue(APPKey, forKey: "appKey") | ||
| 271 | + CNLiveNetworking.setupCustomParam(custom_param as? [String : String]) | ||
| 260 | CNLiveNetworking.setAllowRequestDefaultArgument(true) | 272 | CNLiveNetworking.setAllowRequestDefaultArgument(true) |
| 261 | CNLiveNetworking.setupShowDataResult(false) | 273 | CNLiveNetworking.setupShowDataResult(false) |
| 262 | CNLiveNetworking.requestNetwork(with: .GET, urlString: APPBaseMCUrl+"/identityApi/allList", param: param as! [String : String], cacheType: .networkOnly) { task, result, error in | 274 | CNLiveNetworking.requestNetwork(with: .GET, urlString: APPBaseMCUrl+"/identityApi/allList", param: param as! [String : String], cacheType: .networkOnly) { task, result, error in |
| @@ -315,6 +327,10 @@ class CNLiveMineViewModel: NSObject { | @@ -315,6 +327,10 @@ class CNLiveMineViewModel: NSObject { | ||
| 315 | param.setValue("1", forKey: "type") //0正在审核 1已认证 -1审核失败 | 327 | param.setValue("1", forKey: "type") //0正在审核 1已认证 -1审核失败 |
| 316 | param.setValue("\(page)", forKey: "page") | 328 | param.setValue("\(page)", forKey: "page") |
| 317 | param.setValue("30", forKey: "pageSize") | 329 | param.setValue("30", forKey: "pageSize") |
| 330 | + let custom_param = NSMutableDictionary() | ||
| 331 | + custom_param.setValue(APPId, forKey: "appId") | ||
| 332 | + custom_param.setValue(APPKey, forKey: "appKey") | ||
| 333 | + CNLiveNetworking.setupCustomParam(custom_param as? [String : String]) | ||
| 318 | CNLiveNetworking.setAllowRequestDefaultArgument(true) | 334 | CNLiveNetworking.setAllowRequestDefaultArgument(true) |
| 319 | CNLiveNetworking.setupShowDataResult(false) | 335 | CNLiveNetworking.setupShowDataResult(false) |
| 320 | CNLiveNetworking.requestNetwork(with: .GET, urlString: APPBaseMCUrl+"/identityApi/myList", param: param as! [String: String], cacheType: .networkOnly) { task, result, error in | 336 | CNLiveNetworking.requestNetwork(with: .GET, urlString: APPBaseMCUrl+"/identityApi/myList", param: param as! [String: String], cacheType: .networkOnly) { task, result, error in |
| @@ -399,6 +415,10 @@ class CNLiveMineViewModel: NSObject { | @@ -399,6 +415,10 @@ class CNLiveMineViewModel: NSObject { | ||
| 399 | let data = try JSONSerialization.data(withJSONObject: values, options: .prettyPrinted) | 415 | let data = try JSONSerialization.data(withJSONObject: values, options: .prettyPrinted) |
| 400 | request.httpBody = data | 416 | request.httpBody = data |
| 401 | showLoading(message: "") | 417 | showLoading(message: "") |
| 418 | + let custom_param = NSMutableDictionary() | ||
| 419 | + custom_param.setValue(APPId, forKey: "appId") | ||
| 420 | + custom_param.setValue(APPKey, forKey: "appKey") | ||
| 421 | + CNLiveNetworking.setupCustomParam(custom_param as? [String : String]) | ||
| 402 | CNLiveNetworking.setAllowRequestDefaultArgument(false) | 422 | CNLiveNetworking.setAllowRequestDefaultArgument(false) |
| 403 | CNLiveNetworking.setupShowDataResult(false) | 423 | CNLiveNetworking.setupShowDataResult(false) |
| 404 | CNLiveNetworking.setBuildCustomUrlRequest(request as URLRequest) { task, result, error in | 424 | CNLiveNetworking.setBuildCustomUrlRequest(request as URLRequest) { task, result, error in |
| @@ -436,6 +456,10 @@ class CNLiveMineViewModel: NSObject { | @@ -436,6 +456,10 @@ class CNLiveMineViewModel: NSObject { | ||
| 436 | let param = NSMutableDictionary() | 456 | let param = NSMutableDictionary() |
| 437 | param.setValue(UserInfoManager.shared.userInfo.uid, forKey: "sid") | 457 | param.setValue(UserInfoManager.shared.userInfo.uid, forKey: "sid") |
| 438 | param.setValue(identityId, forKey: "identityId") | 458 | param.setValue(identityId, forKey: "identityId") |
| 459 | + let custom_param = NSMutableDictionary() | ||
| 460 | + custom_param.setValue(APPId, forKey: "appId") | ||
| 461 | + custom_param.setValue(APPKey, forKey: "appKey") | ||
| 462 | + CNLiveNetworking.setupCustomParam(custom_param as? [String : String]) | ||
| 439 | CNLiveNetworking.setAllowRequestDefaultArgument(true) | 463 | CNLiveNetworking.setAllowRequestDefaultArgument(true) |
| 440 | CNLiveNetworking.setupShowDataResult(false) | 464 | CNLiveNetworking.setupShowDataResult(false) |
| 441 | CNLiveNetworking.requestNetwork(with: .GET, urlString: APPBaseMCUrl+"/identityApi/getIdentity", param: param as! [String: String], cacheType: .networkOnly) { task, result, error in | 465 | CNLiveNetworking.requestNetwork(with: .GET, urlString: APPBaseMCUrl+"/identityApi/getIdentity", param: param as! [String: String], cacheType: .networkOnly) { task, result, error in |
| @@ -484,6 +508,10 @@ class CNLiveMineViewModel: NSObject { | @@ -484,6 +508,10 @@ class CNLiveMineViewModel: NSObject { | ||
| 484 | static func requestSystemNews(resultBlock: @escaping resultNewsBlock) { | 508 | static func requestSystemNews(resultBlock: @escaping resultNewsBlock) { |
| 485 | let param = NSMutableDictionary() | 509 | let param = NSMutableDictionary() |
| 486 | param.setValue("2", forKey: "appType") | 510 | param.setValue("2", forKey: "appType") |
| 511 | + let custom_param = NSMutableDictionary() | ||
| 512 | + custom_param.setValue(APPId, forKey: "appId") | ||
| 513 | + custom_param.setValue(APPKey, forKey: "appKey") | ||
| 514 | + CNLiveNetworking.setupCustomParam(custom_param as? [String : String]) | ||
| 487 | CNLiveNetworking.setAllowRequestDefaultArgument(true) | 515 | CNLiveNetworking.setAllowRequestDefaultArgument(true) |
| 488 | CNLiveNetworking.setupShowDataResult(false) | 516 | CNLiveNetworking.setupShowDataResult(false) |
| 489 | CNLiveNetworking.requestNetwork(with: .GET, urlString: APPBaseMCUrl+"/commonApi/getVersion", param: param as! [String : String], cacheType: .networkOnly) { task, result, error in | 517 | CNLiveNetworking.requestNetwork(with: .GET, urlString: APPBaseMCUrl+"/commonApi/getVersion", param: param as! [String : String], cacheType: .networkOnly) { task, result, error in |
| @@ -527,6 +555,10 @@ class CNLiveMineViewModel: NSObject { | @@ -527,6 +555,10 @@ class CNLiveMineViewModel: NSObject { | ||
| 527 | param.setValue(UserInfoManager.shared.userInfo.uid, forKey: "sid") | 555 | param.setValue(UserInfoManager.shared.userInfo.uid, forKey: "sid") |
| 528 | param.setValue("\(page)", forKey: "page") | 556 | param.setValue("\(page)", forKey: "page") |
| 529 | param.setValue("10", forKey: "pageSize") | 557 | param.setValue("10", forKey: "pageSize") |
| 558 | + let custom_param = NSMutableDictionary() | ||
| 559 | + custom_param.setValue(APPId, forKey: "appId") | ||
| 560 | + custom_param.setValue(APPKey, forKey: "appKey") | ||
| 561 | + CNLiveNetworking.setupCustomParam(custom_param as? [String : String]) | ||
| 530 | CNLiveNetworking.setAllowRequestDefaultArgument(true) | 562 | CNLiveNetworking.setAllowRequestDefaultArgument(true) |
| 531 | CNLiveNetworking.setupShowDataResult(false) | 563 | CNLiveNetworking.setupShowDataResult(false) |
| 532 | CNLiveNetworking.requestNetwork(with: .GET, urlString: APPBaseMCUrl+"/identityApi/list", param: param as! [String : String], cacheType: .networkOnly) { task, result, error in | 564 | CNLiveNetworking.requestNetwork(with: .GET, urlString: APPBaseMCUrl+"/identityApi/list", param: param as! [String : String], cacheType: .networkOnly) { task, result, error in |
metaCode/Classes/Main/ShopPage/Controller/CNLiveShopOrderDetailViewController.swift
| @@ -195,9 +195,9 @@ extension CNLiveShopOrderDetailViewController { | @@ -195,9 +195,9 @@ extension CNLiveShopOrderDetailViewController { | ||
| 195 | /// - Parameter detailModel: 数据源 | 195 | /// - Parameter detailModel: 数据源 |
| 196 | private func pushExpressVC(detailModel: ShopOrderDetailModel) { | 196 | private func pushExpressVC(detailModel: ShopOrderDetailModel) { |
| 197 | if detailModel.send_num > 1 || detailModel.is_send == "0" { | 197 | if detailModel.send_num > 1 || detailModel.is_send == "0" { |
| 198 | - self.navigationController?.pushViewController(CNLiveShopOrderExpressListViewController.init(orderId: detailModel.orderid! as NSString), animated: true) | 198 | + self.navigationController?.pushViewController(CNLiveShopOrderExpressListViewController.init(orderId: detailModel.id! as NSString), animated: true) |
| 199 | } else { | 199 | } else { |
| 200 | - | 200 | + self.navigationController?.pushViewController(CNLiveShopOrderExpressDetailViewController.init(), animated: true) |
| 201 | } | 201 | } |
| 202 | } | 202 | } |
| 203 | 203 |
metaCode/Classes/Main/ShopPage/Controller/CNLiveShopOrderExpressDetailViewController.swift
0 → 100644
| 1 | +// | ||
| 2 | +// CNLiveShopOrderExpressDetailViewController.swift | ||
| 3 | +// metaCode | ||
| 4 | +// | ||
| 5 | +// Created by open on 2023/11/9. | ||
| 6 | +// | ||
| 7 | + | ||
| 8 | +import Foundation | ||
| 9 | +import EmptyDataSet_Swift | ||
| 10 | +enum CNLiveShopOrderExpressDetailShowType { | ||
| 11 | + case orderExpress //订单详情快递 | ||
| 12 | + case byYourself //自提 | ||
| 13 | + case refundExpress //退款详情快递 | ||
| 14 | +} | ||
| 15 | +class CNLiveShopOrderExpressDetailViewController: CNLiveBaseViewController, UITableViewDelegate, UITableViewDataSource, EmptyDataSetSource, EmptyDataSetDelegate { | ||
| 16 | + | ||
| 17 | + | ||
| 18 | + lazy var tableView : UITableView = { | ||
| 19 | + let tableView = UITableView(frame: .zero, style: .plain) | ||
| 20 | + tableView.dataSource = self | ||
| 21 | + tableView.delegate = self | ||
| 22 | + tableView.emptyDataSetSource = self | ||
| 23 | + tableView.emptyDataSetDelegate = self | ||
| 24 | + tableView.backgroundColor = HexColor("#f1f2f6") | ||
| 25 | + tableView.tableFooterView = UIView.init() | ||
| 26 | + tableView.separatorStyle = .none | ||
| 27 | + tableView.register(UITableViewCell.self, forCellReuseIdentifier: "UITableViewCellIdentifier") | ||
| 28 | + return tableView | ||
| 29 | + }() | ||
| 30 | + | ||
| 31 | + lazy var dataArray: NSMutableArray = { | ||
| 32 | + let dataArray = NSMutableArray.init() | ||
| 33 | + return dataArray | ||
| 34 | + }() | ||
| 35 | + | ||
| 36 | + var network_type: CNLiveMineResponseType! | ||
| 37 | + override func viewDidLoad() { | ||
| 38 | + super.viewDidLoad() | ||
| 39 | + navigationBarHidden = false | ||
| 40 | + titleName = "物流详情" | ||
| 41 | + | ||
| 42 | + loadDataSourceAction() | ||
| 43 | + | ||
| 44 | + view.addSubview(tableView) | ||
| 45 | + tableView.snp.makeConstraints { make in | ||
| 46 | + make.top.equalTo(KNavigationHeight) | ||
| 47 | + make.left.right.equalToSuperview() | ||
| 48 | + make.bottom.equalToSuperview().offset(get_system_tabbar_height() - get_system_tabbar_ui_height()) | ||
| 49 | + } | ||
| 50 | + } | ||
| 51 | + | ||
| 52 | + func loadDataSourceAction() { | ||
| 53 | + | ||
| 54 | + } | ||
| 55 | +} | ||
| 56 | + | ||
| 57 | +extension CNLiveShopOrderExpressDetailViewController { | ||
| 58 | + func numberOfSections(in tableView: UITableView) -> Int { | ||
| 59 | + return 1 | ||
| 60 | + } | ||
| 61 | + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { | ||
| 62 | + return self.dataArray.count | ||
| 63 | + } | ||
| 64 | + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { | ||
| 65 | + guard let cell = tableView.dequeueReusableCell(withIdentifier: "UITableViewCellIdentifier") else { | ||
| 66 | + return UITableViewCell() | ||
| 67 | + } | ||
| 68 | + return cell | ||
| 69 | + } | ||
| 70 | + func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { | ||
| 71 | + return adapt_length(length: 0.01) | ||
| 72 | + } | ||
| 73 | + func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { | ||
| 74 | + } | ||
| 75 | +} | ||
| 76 | + | ||
| 77 | +extension CNLiveShopOrderExpressDetailViewController { | ||
| 78 | + | ||
| 79 | + func image(forEmptyDataSet scrollView: UIScrollView) -> UIImage? { | ||
| 80 | + if network_type == .failed || network_type == .unkonw { | ||
| 81 | + return UIImage(named: "mine_list_source_unusual_failed") | ||
| 82 | + } | ||
| 83 | + if dataArray.count == 0 { | ||
| 84 | + return UIImage(named: "mine_list_source_unusual_empty") | ||
| 85 | + } | ||
| 86 | + if network_type == .noNetwork { | ||
| 87 | + return UIImage(named: "mine_list_source_unusual_noNet") | ||
| 88 | + } | ||
| 89 | + return UIImage(named: "mine_list_source_unusual_empty") | ||
| 90 | + } | ||
| 91 | + | ||
| 92 | + func title(forEmptyDataSet scrollView: UIScrollView) -> NSAttributedString? { | ||
| 93 | + var defult_string = "" | ||
| 94 | + if network_type == .failed || network_type == .unkonw { | ||
| 95 | + defult_string = "接口请求错误,刷新试试~" | ||
| 96 | + } | ||
| 97 | + if network_type == .noNetwork { | ||
| 98 | + defult_string = "网络开小差了,刷新试试~" | ||
| 99 | + } | ||
| 100 | + if dataArray.count == 0 { | ||
| 101 | + defult_string = "暂时没有数据~" | ||
| 102 | + } | ||
| 103 | + return NSAttributedString(string: defult_string, attributes: [.font: Font_17,.foregroundColor: HexColor("#666666")!]) | ||
| 104 | + } | ||
| 105 | + | ||
| 106 | + func buttonTitle(forEmptyDataSet scrollView: UIScrollView, for state: UIControl.State) -> NSAttributedString? { | ||
| 107 | + if network_type == .failed || network_type == .noNetwork { | ||
| 108 | + let attributes = [NSAttributedString.Key.font:Font_16_Fit, | ||
| 109 | + NSAttributedString.Key.foregroundColor: HexColor("#609BFF")] | ||
| 110 | + return NSAttributedString(string: "刷一刷", attributes: attributes as [NSAttributedString.Key : Any]) | ||
| 111 | + } | ||
| 112 | + return nil | ||
| 113 | + } | ||
| 114 | + | ||
| 115 | + func emptyDataSet(_ scrollView: UIScrollView, didTapView view: UIView) { | ||
| 116 | + if network_type == .failed || network_type == .noNetwork { | ||
| 117 | + loadDataSourceAction() | ||
| 118 | + } | ||
| 119 | + } | ||
| 120 | +} | ||
| 121 | + |
metaCode/Classes/Main/ShopPage/Controller/CNLiveShopOrderExpressListViewController.swift
| @@ -80,13 +80,16 @@ extension CNLiveShopOrderExpressListViewController { | @@ -80,13 +80,16 @@ extension CNLiveShopOrderExpressListViewController { | ||
| 80 | return self.dataArray.count | 80 | return self.dataArray.count |
| 81 | } | 81 | } |
| 82 | func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { | 82 | func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { |
| 83 | - guard let cell = tableView.dequeueReusableCell(withIdentifier: kShopBodyOrderExpressListTableViewCellIdentifier) as? ShopBodyOrderExpressFirmTableViewCell else { | ||
| 84 | - return ShopBodyOrderExpressFirmTableViewCell() | 83 | + guard let cell = tableView.dequeueReusableCell(withIdentifier: kShopBodyOrderExpressListTableViewCellIdentifier) as? ShopBodyOrderExpressListTableViewCell else { |
| 84 | + return ShopBodyOrderExpressListTableViewCell() | ||
| 85 | } | 85 | } |
| 86 | + cell.setupDataSource(listModel: dataArray[indexPath.row] as! ShopOrderExpressListModel) | ||
| 86 | return cell | 87 | return cell |
| 87 | } | 88 | } |
| 88 | func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { | 89 | func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { |
| 89 | - return adapt_length(length: 0.01)//130) | 90 | + let listModel = dataArray[indexPath.row] as! ShopOrderExpressListModel |
| 91 | + let height = listModel.expressNew.AcceptStation?.calculateHeightWith(width: KSreenWidth - adapt_length(length: 30), font: regular_adapt_font(pointSize: 12)) | ||
| 92 | + return CGFloat(adapt_length(length: 213) + (listModel.expressNew.AcceptStation!.isNotBlank() ? height! : 0)) | ||
| 90 | } | 93 | } |
| 91 | func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { | 94 | func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { |
| 92 | 95 |
metaCode/Classes/Main/ShopPage/Controller/CNLiveShopOrderListViewController.swift
| @@ -71,7 +71,6 @@ class CNLiveShopOrderListViewController: CNLiveBaseViewController, UITableViewDe | @@ -71,7 +71,6 @@ class CNLiveShopOrderListViewController: CNLiveBaseViewController, UITableViewDe | ||
| 71 | make.top.equalToSuperview() | 71 | make.top.equalToSuperview() |
| 72 | make.bottom.left.right.equalToSuperview() | 72 | make.bottom.left.right.equalToSuperview() |
| 73 | } | 73 | } |
| 74 | - addRefreshView() | ||
| 75 | } | 74 | } |
| 76 | 75 | ||
| 77 | func loadDataSourceAction(page: NSInteger) { | 76 | func loadDataSourceAction(page: NSInteger) { |
| @@ -91,6 +90,9 @@ class CNLiveShopOrderListViewController: CNLiveBaseViewController, UITableViewDe | @@ -91,6 +90,9 @@ class CNLiveShopOrderListViewController: CNLiveBaseViewController, UITableViewDe | ||
| 91 | if self!.pageNum == 1 { | 90 | if self!.pageNum == 1 { |
| 92 | self!.dataArray.removeAllObjects() | 91 | self!.dataArray.removeAllObjects() |
| 93 | self!.dataArray.addObjects(from: result as! [ShopOrderListModel]) | 92 | self!.dataArray.addObjects(from: result as! [ShopOrderListModel]) |
| 93 | + if self!.dataArray.count > 0 { | ||
| 94 | + self!.addRefreshView() | ||
| 95 | + } | ||
| 94 | } | 96 | } |
| 95 | if self!.pageNum > 1 { | 97 | if self!.pageNum > 1 { |
| 96 | self!.dataArray.addObjects(from: result as! [ShopOrderListModel]) | 98 | self!.dataArray.addObjects(from: result as! [ShopOrderListModel]) |
| @@ -278,10 +280,10 @@ extension CNLiveShopOrderListViewController { | @@ -278,10 +280,10 @@ extension CNLiveShopOrderListViewController { | ||
| 278 | /// - Parameter detailModel: 数据源 | 280 | /// - Parameter detailModel: 数据源 |
| 279 | private func pushExpressVC(listModel: ShopOrderListModel) { | 281 | private func pushExpressVC(listModel: ShopOrderListModel) { |
| 280 | if listModel.send_num > 1 || listModel.is_send == "0" { | 282 | if listModel.send_num > 1 || listModel.is_send == "0" { |
| 281 | -// self.navigationController?.pushViewController(CNLiveShopOrderExpressListViewController.init(orderId: listModel.id! as NSString), animated: true) | ||
| 282 | - self.navigationController?.pushViewController(CNLiveShopOrderExpressListViewController.init(orderId: "1000073435"), animated: true) | 283 | + self.navigationController?.pushViewController(CNLiveShopOrderExpressListViewController.init(orderId: listModel.id! as NSString), animated: true) |
| 284 | +// self.navigationController?.pushViewController(CNLiveShopOrderExpressListViewController.init(orderId: "1000073435"), animated: true) | ||
| 283 | } else { | 285 | } else { |
| 284 | - | 286 | + self.navigationController?.pushViewController(CNLiveShopOrderExpressDetailViewController.init(), animated: true) |
| 285 | } | 287 | } |
| 286 | } | 288 | } |
| 287 | 289 |
metaCode/Classes/Main/ShopPage/Model/CNLiveShopBaseModel.swift
| @@ -237,3 +237,5 @@ class ShopOrderExpressDetailDateModel: BaseModel { | @@ -237,3 +237,5 @@ class ShopOrderExpressDetailDateModel: BaseModel { | ||
| 237 | var AcceptStation: String? = ""// 内容 | 237 | var AcceptStation: String? = ""// 内容 |
| 238 | var accept_time: String? = ""// 时间戳 | 238 | var accept_time: String? = ""// 时间戳 |
| 239 | } | 239 | } |
| 240 | + | ||
| 241 | + |
metaCode/Classes/Main/ShopPage/View/CNLiveShopBodyExpressView.swift
| @@ -6,12 +6,15 @@ | @@ -6,12 +6,15 @@ | ||
| 6 | // | 6 | // |
| 7 | 7 | ||
| 8 | import Foundation | 8 | import Foundation |
| 9 | +import EmptyDataSet_Swift | ||
| 9 | 10 | ||
| 10 | class ShopBodyOrderExpressListTableViewCell: UITableViewCell, UICollectionViewDataSource, UICollectionViewDelegate{ | 11 | class ShopBodyOrderExpressListTableViewCell: UITableViewCell, UICollectionViewDataSource, UICollectionViewDelegate{ |
| 11 | 12 | ||
| 12 | lazy var logoImageView: UIImageView = { | 13 | lazy var logoImageView: UIImageView = { |
| 13 | let logoImageView = UIImageView.init() | 14 | let logoImageView = UIImageView.init() |
| 14 | logoImageView.backgroundColor = .white | 15 | logoImageView.backgroundColor = .white |
| 16 | + logoImageView.layer.cornerRadius = 4 | ||
| 17 | + logoImageView.layer.masksToBounds = true | ||
| 15 | return logoImageView | 18 | return logoImageView |
| 16 | }() | 19 | }() |
| 17 | 20 | ||
| @@ -69,6 +72,8 @@ class ShopBodyOrderExpressListTableViewCell: UITableViewCell, UICollectionViewDa | @@ -69,6 +72,8 @@ class ShopBodyOrderExpressListTableViewCell: UITableViewCell, UICollectionViewDa | ||
| 69 | collectionView.delegate = self | 72 | collectionView.delegate = self |
| 70 | collectionView.backgroundColor = .white | 73 | collectionView.backgroundColor = .white |
| 71 | collectionView.register(ShopBodyOrderExpressListCollectionViewCell.self, forCellWithReuseIdentifier: kShopBodyOrderExpressListCollectionViewCellIdentifier) | 74 | collectionView.register(ShopBodyOrderExpressListCollectionViewCell.self, forCellWithReuseIdentifier: kShopBodyOrderExpressListCollectionViewCellIdentifier) |
| 75 | + let tap = UITapGestureRecognizer.init(target: self, action: #selector(pushExpressDetail)) | ||
| 76 | + collectionView.addGestureRecognizer(tap) | ||
| 72 | return collectionView | 77 | return collectionView |
| 73 | }() | 78 | }() |
| 74 | 79 | ||
| @@ -132,11 +137,39 @@ class ShopBodyOrderExpressListTableViewCell: UITableViewCell, UICollectionViewDa | @@ -132,11 +137,39 @@ class ShopBodyOrderExpressListTableViewCell: UITableViewCell, UICollectionViewDa | ||
| 132 | } | 137 | } |
| 133 | } | 138 | } |
| 134 | 139 | ||
| 140 | + required init?(coder: NSCoder) { | ||
| 141 | + fatalError("init(coder:) has not been implemented") | ||
| 142 | + } | ||
| 143 | + | ||
| 135 | 144 | ||
| 136 | var _listModel: ShopOrderExpressListModel! | 145 | var _listModel: ShopOrderExpressListModel! |
| 137 | func setupDataSource(listModel: ShopOrderExpressListModel) { | 146 | func setupDataSource(listModel: ShopOrderExpressListModel) { |
| 138 | _listModel = listModel | 147 | _listModel = listModel |
| 139 | 148 | ||
| 149 | + logoImageView.kf.setImage(with: URL(string: listModel.simg!)) | ||
| 150 | + expressName.text = listModel.express | ||
| 151 | + expressName.sizeToFit() | ||
| 152 | + expressNo.text = "快递编号:\(listModel.express_num ?? "0")" | ||
| 153 | + totleExpress.text = "共\(listModel.detail_goods.count)件商品" | ||
| 154 | + totleExpress.sizeToFit() | ||
| 155 | + | ||
| 156 | + expressTime.text = listModel.expressNew.AcceptTime | ||
| 157 | + expressTime.sizeToFit() | ||
| 158 | + | ||
| 159 | + var address : String = "" | ||
| 160 | + if listModel.expressNew.AcceptStation!.isNotBlank() { | ||
| 161 | + address = listModel.expressNew.AcceptStation! | ||
| 162 | + } else { | ||
| 163 | + address = "包裹正在等待揽收" | ||
| 164 | + } | ||
| 165 | + expressAddress.text = address | ||
| 166 | + expressAddress.sizeToFit() | ||
| 167 | + collectionView.reloadData() | ||
| 168 | + setNeedsLayout() | ||
| 169 | + } | ||
| 170 | + | ||
| 171 | + @objc func pushExpressDetail() { | ||
| 172 | + currentViewController()?.navigationController?.pushViewController(CNLiveShopOrderExpressDetailViewController.init(), animated: true) | ||
| 140 | } | 173 | } |
| 141 | 174 | ||
| 142 | @objc func actionClick(sender: UIButton) { | 175 | @objc func actionClick(sender: UIButton) { |
| @@ -156,17 +189,19 @@ class ShopBodyOrderExpressListTableViewCell: UITableViewCell, UICollectionViewDa | @@ -156,17 +189,19 @@ class ShopBodyOrderExpressListTableViewCell: UITableViewCell, UICollectionViewDa | ||
| 156 | return _listModel.detail_goods.count | 189 | return _listModel.detail_goods.count |
| 157 | } | 190 | } |
| 158 | func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { | 191 | func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { |
| 159 | - return UICollectionViewCell.init() | 192 | + guard let cell = collectionView.dequeueReusableCell(withReuseIdentifier: kShopBodyOrderExpressListCollectionViewCellIdentifier, for: indexPath) as? ShopBodyOrderExpressListCollectionViewCell else { |
| 193 | + return ShopBodyOrderExpressListCollectionViewCell() | ||
| 194 | + } | ||
| 195 | + let goodsModel = _listModel.detail_goods[indexPath.row] | ||
| 196 | + cell.goodsImage.kf.setImage(with: URL(string: goodsModel.simg!)) | ||
| 197 | + cell.expressNum.text = "\(goodsModel.num ?? 0)件" | ||
| 198 | + return cell | ||
| 160 | } | 199 | } |
| 161 | 200 | ||
| 162 | func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { | 201 | func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { |
| 163 | 202 | ||
| 164 | } | 203 | } |
| 165 | 204 | ||
| 166 | - required init?(coder: NSCoder) { | ||
| 167 | - fatalError("init(coder:) has not been implemented") | ||
| 168 | - } | ||
| 169 | - | ||
| 170 | } | 205 | } |
| 171 | 206 | ||
| 172 | class ShopBodyOrderExpressListCollectionViewCell: UICollectionViewCell { | 207 | class ShopBodyOrderExpressListCollectionViewCell: UICollectionViewCell { |
| @@ -175,6 +210,7 @@ class ShopBodyOrderExpressListCollectionViewCell: UICollectionViewCell { | @@ -175,6 +210,7 @@ class ShopBodyOrderExpressListCollectionViewCell: UICollectionViewCell { | ||
| 175 | let goodsImage = UIImageView.init() | 210 | let goodsImage = UIImageView.init() |
| 176 | goodsImage.contentMode = .scaleAspectFill | 211 | goodsImage.contentMode = .scaleAspectFill |
| 177 | goodsImage.layer.cornerRadius = 6 | 212 | goodsImage.layer.cornerRadius = 6 |
| 213 | + goodsImage.layer.masksToBounds = true | ||
| 178 | return goodsImage | 214 | return goodsImage |
| 179 | }() | 215 | }() |
| 180 | 216 | ||
| @@ -183,7 +219,9 @@ class ShopBodyOrderExpressListCollectionViewCell: UICollectionViewCell { | @@ -183,7 +219,9 @@ class ShopBodyOrderExpressListCollectionViewCell: UICollectionViewCell { | ||
| 183 | expressNum.font = regular_adapt_font(pointSize: 9) | 219 | expressNum.font = regular_adapt_font(pointSize: 9) |
| 184 | expressNum.textColor = HexColor("#ffffff") | 220 | expressNum.textColor = HexColor("#ffffff") |
| 185 | expressNum.backgroundColor = HexColor("#000000") | 221 | expressNum.backgroundColor = HexColor("#000000") |
| 186 | - expressNum.textAlignment | 222 | + expressNum.textAlignment = .center |
| 223 | + expressNum.alpha = 0.5 | ||
| 224 | + expressNum.layer.cornerRadius = 6 | ||
| 187 | return expressNum | 225 | return expressNum |
| 188 | }() | 226 | }() |
| 189 | 227 | ||
| @@ -191,6 +229,15 @@ class ShopBodyOrderExpressListCollectionViewCell: UICollectionViewCell { | @@ -191,6 +229,15 @@ class ShopBodyOrderExpressListCollectionViewCell: UICollectionViewCell { | ||
| 191 | super.init(frame: frame) | 229 | super.init(frame: frame) |
| 192 | contentView.backgroundColor = .white | 230 | contentView.backgroundColor = .white |
| 193 | 231 | ||
| 232 | + contentView.addSubview(goodsImage) | ||
| 233 | + goodsImage.snp.makeConstraints { make in | ||
| 234 | + make.edges.equalToSuperview() | ||
| 235 | + } | ||
| 236 | + contentView.addSubview(expressNum) | ||
| 237 | + expressNum.snp.makeConstraints { make in | ||
| 238 | + make.left.bottom.right.equalToSuperview() | ||
| 239 | + make.height.equalTo(adapt_length(length: 15)) | ||
| 240 | + } | ||
| 194 | } | 241 | } |
| 195 | 242 | ||
| 196 | required init?(coder: NSCoder) { | 243 | required init?(coder: NSCoder) { |
metaCode/Classes/Main/ShopPage/ViewModel/CNLiveShopViewModel.swift
| @@ -8,6 +8,12 @@ | @@ -8,6 +8,12 @@ | ||
| 8 | import Foundation | 8 | import Foundation |
| 9 | import CNLiveRequestBastKit | 9 | import CNLiveRequestBastKit |
| 10 | 10 | ||
| 11 | +enum CNLiveShopOrderExpressDetailNetworkType { | ||
| 12 | + case express // 订单详情查快递 | ||
| 13 | + case step // 订单详情查进度 | ||
| 14 | + case refundId// 查询快递(退款详情) | ||
| 15 | +} | ||
| 16 | + | ||
| 11 | typealias resultShopBlock = (_ result: Any,_ respStatue :CNLiveMineResponseType) -> Void | 17 | typealias resultShopBlock = (_ result: Any,_ respStatue :CNLiveMineResponseType) -> Void |
| 12 | class CNLiveShopViewModel: NSObject { | 18 | class CNLiveShopViewModel: NSObject { |
| 13 | 19 | ||
| @@ -519,4 +525,52 @@ class CNLiveShopViewModel: NSObject { | @@ -519,4 +525,52 @@ class CNLiveShopViewModel: NSObject { | ||
| 519 | } | 525 | } |
| 520 | } | 526 | } |
| 521 | 527 | ||
| 528 | + /// 订单详情查快递 | ||
| 529 | + /// - Parameters: | ||
| 530 | + /// - orderId: 订单id | ||
| 531 | + /// - expId: 物流id | ||
| 532 | + /// - resultBlock: 返回 | ||
| 533 | + static func requestExpressDetail(orderId: NSString, expId: NSString, resultBlock: @escaping resultShopBlock) { | ||
| 534 | + let param = NSMutableDictionary() | ||
| 535 | + param.setValue(orderId, forKey: "id") | ||
| 536 | + param.setValue(expId, forKey: "exp_id") | ||
| 537 | + let custom_param = NSMutableDictionary() | ||
| 538 | + custom_param.setValue(APPId_wjj, forKey: "appId") | ||
| 539 | + custom_param.setValue(APPKey_wjj, forKey: "appKey") | ||
| 540 | + CNLiveNetworking.setAllowRequestDefaultArgument(true) | ||
| 541 | + CNLiveNetworking.setupShowDataResult(false) | ||
| 542 | + CNLiveNetworking.setupDSRequest(true) | ||
| 543 | + CNLiveNetworking.setupCustomParam(custom_param as? [String : String]) | ||
| 544 | + CNLiveNetworking.requestNetwork(with: .GET, urlString: APPBaseWjjBUrl+"/api/v1/express", param: param as! [String : String], cacheType: .networkOnly) { task, result, error in | ||
| 545 | + hiddenLoading() | ||
| 546 | + if (error == nil) { | ||
| 547 | + let resp = result as! NSDictionary | ||
| 548 | + let errorCode = "\(resp["code"] ?? "0")" | ||
| 549 | + if (errorCode == "200") { | ||
| 550 | + if resp["data"] is NSNull { | ||
| 551 | + resultBlock(NSNull(),.failed) | ||
| 552 | + } else { | ||
| 553 | + let array = resp["data"] as! NSArray | ||
| 554 | + let tempArray = NSMutableArray() | ||
| 555 | + for item in array { | ||
| 556 | + let listModel = dictionaryToModel(item as! [String : Any], ShopOrderExpressDetailModel.self,"") as! ShopOrderExpressDetailModel | ||
| 557 | + } | ||
| 558 | + resultBlock(tempArray, .success) | ||
| 559 | + } | ||
| 560 | + } else { | ||
| 561 | + showMessage(message: resp["message"] as! String) | ||
| 562 | + resultBlock(NSNull(),.failed) | ||
| 563 | + } | ||
| 564 | + } else { | ||
| 565 | + if CNLiveNetworking.isNetworking() { | ||
| 566 | + showMessage(message: "请求失败") | ||
| 567 | + resultBlock(NSNull(),.failed) | ||
| 568 | + } else { | ||
| 569 | + showMessage(message: "似乎与网络断开链接") | ||
| 570 | + resultBlock(NSNull(),.noNetwork) | ||
| 571 | + } | ||
| 572 | + } | ||
| 573 | + } | ||
| 574 | + } | ||
| 575 | + | ||
| 522 | } | 576 | } |