Commit c60aca44b0eec9332b5caddb8109c50f420b7a26

Authored by liushiyu
1 parent e9ea7bd9

物流详情提交

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 }