Commit 6ece0a35857de79f19ca96ac1e152ccea3e3f82f

Authored by liushiyu
2 parents fc9d06b9 9e246ad1
metaCode.xcodeproj/project.pbxproj
@@ -8,6 +8,7 @@ @@ -8,6 +8,7 @@
8 8
9 /* Begin PBXBuildFile section */ 9 /* Begin PBXBuildFile section */
10 0D39E93D7229931C86EB1161 /* Pods_metaCode_metaCodeUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D879B49B1E42F1584DD75E /* Pods_metaCode_metaCodeUITests.framework */; }; 10 0D39E93D7229931C86EB1161 /* Pods_metaCode_metaCodeUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D879B49B1E42F1584DD75E /* Pods_metaCode_metaCodeUITests.framework */; };
  11 + 19F1C2332AB5728B0083D06C /* CNIDCardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19F1C2322AB5728B0083D06C /* CNIDCardView.swift */; };
11 1DD2808DF02C120276F99F4D /* Pods_metaCode.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F1C55A719CFEE073C06D37CE /* Pods_metaCode.framework */; }; 12 1DD2808DF02C120276F99F4D /* Pods_metaCode.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F1C55A719CFEE073C06D37CE /* Pods_metaCode.framework */; };
12 7905BB492AB0588B0089BC50 /* CNLiveMineAuthResultViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7905BB482AB0588B0089BC50 /* CNLiveMineAuthResultViewController.swift */; }; 13 7905BB492AB0588B0089BC50 /* CNLiveMineAuthResultViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7905BB482AB0588B0089BC50 /* CNLiveMineAuthResultViewController.swift */; };
13 790B1FB42A4153E90074CF00 /* CNLiveMineBaseModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 790B1FB32A4153E90074CF00 /* CNLiveMineBaseModel.swift */; }; 14 790B1FB42A4153E90074CF00 /* CNLiveMineBaseModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 790B1FB32A4153E90074CF00 /* CNLiveMineBaseModel.swift */; };
@@ -111,6 +112,7 @@ @@ -111,6 +112,7 @@
111 /* Begin PBXFileReference section */ 112 /* Begin PBXFileReference section */
112 0EC910AB9EBD717B04432BC4 /* Pods-metaCode-metaCodeUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-metaCode-metaCodeUITests.debug.xcconfig"; path = "Target Support Files/Pods-metaCode-metaCodeUITests/Pods-metaCode-metaCodeUITests.debug.xcconfig"; sourceTree = "<group>"; }; 113 0EC910AB9EBD717B04432BC4 /* Pods-metaCode-metaCodeUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-metaCode-metaCodeUITests.debug.xcconfig"; path = "Target Support Files/Pods-metaCode-metaCodeUITests/Pods-metaCode-metaCodeUITests.debug.xcconfig"; sourceTree = "<group>"; };
113 170BC5D0622EA2969D110A3B /* Pods-metaCode.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-metaCode.release.xcconfig"; path = "Target Support Files/Pods-metaCode/Pods-metaCode.release.xcconfig"; sourceTree = "<group>"; }; 114 170BC5D0622EA2969D110A3B /* Pods-metaCode.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-metaCode.release.xcconfig"; path = "Target Support Files/Pods-metaCode/Pods-metaCode.release.xcconfig"; sourceTree = "<group>"; };
  115 + 19F1C2322AB5728B0083D06C /* CNIDCardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNIDCardView.swift; sourceTree = "<group>"; };
114 54E09C540E13D78166D71395 /* Pods_metaCodeTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_metaCodeTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 116 54E09C540E13D78166D71395 /* Pods_metaCodeTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_metaCodeTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
115 63D879B49B1E42F1584DD75E /* Pods_metaCode_metaCodeUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_metaCode_metaCodeUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 117 63D879B49B1E42F1584DD75E /* Pods_metaCode_metaCodeUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_metaCode_metaCodeUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
116 67F8190701D1AB7F7724E8BA /* Pods-metaCodeTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-metaCodeTests.release.xcconfig"; path = "Target Support Files/Pods-metaCodeTests/Pods-metaCodeTests.release.xcconfig"; sourceTree = "<group>"; }; 118 67F8190701D1AB7F7724E8BA /* Pods-metaCodeTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-metaCodeTests.release.xcconfig"; path = "Target Support Files/Pods-metaCodeTests/Pods-metaCodeTests.release.xcconfig"; sourceTree = "<group>"; };
@@ -535,6 +537,7 @@ @@ -535,6 +537,7 @@
535 7C4931302A2F142F000E44B4 /* CNHomePageBackgroupView.swift */, 537 7C4931302A2F142F000E44B4 /* CNHomePageBackgroupView.swift */,
536 7C4931372A307BDB000E44B4 /* CNHomePageGuideView.swift */, 538 7C4931372A307BDB000E44B4 /* CNHomePageGuideView.swift */,
537 7C27032F2A36CBE30061EC50 /* CNCertificationView.swift */, 539 7C27032F2A36CBE30061EC50 /* CNCertificationView.swift */,
  540 + 19F1C2322AB5728B0083D06C /* CNIDCardView.swift */,
538 ); 541 );
539 name = View; 542 name = View;
540 path = HomePage/View; 543 path = HomePage/View;
@@ -851,6 +854,7 @@ @@ -851,6 +854,7 @@
851 isa = PBXSourcesBuildPhase; 854 isa = PBXSourcesBuildPhase;
852 buildActionMask = 2147483647; 855 buildActionMask = 2147483647;
853 files = ( 856 files = (
  857 + 19F1C2332AB5728B0083D06C /* CNIDCardView.swift in Sources */,
854 7CD675292A270F6A008354C1 /* WJColorChange.m in Sources */, 858 7CD675292A270F6A008354C1 /* WJColorChange.m in Sources */,
855 79F4B11C2A33036E00993C03 /* CNLiveMineInfoAlertView.swift in Sources */, 859 79F4B11C2A33036E00993C03 /* CNLiveMineInfoAlertView.swift in Sources */,
856 796398942A260C0100D045EB /* AppDelegate.swift in Sources */, 860 796398942A260C0100D045EB /* AppDelegate.swift in Sources */,
metaCode/Classes/Common/Base/CNLiveBaseTabBarViewController.swift
@@ -19,8 +19,8 @@ class CNTabBar:UITabBar{ @@ -19,8 +19,8 @@ class CNTabBar:UITabBar{
19 //我们需要在age属性发生变化后,更新一下nickName这个属性 19 //我们需要在age属性发生变化后,更新一下nickName这个属性
20 didSet 20 didSet
21 { 21 {
22 - print("frame = ", frame)  
23 - print("完成") 22 +// print("frame = ", frame)
  23 +// print("完成")
24 } 24 }
25 } 25 }
26 } 26 }
@@ -34,9 +34,6 @@ class CNLiveBaseTabBarViewController: UITabBarController @@ -34,9 +34,6 @@ class CNLiveBaseTabBarViewController: UITabBarController
34 34
35 self.setUpTabBar() 35 self.setUpTabBar()
36 self.setupBackgroup() 36 self.setupBackgroup()
37 -  
38 - selectedIndex = 1  
39 -  
40 } 37 }
41 38
42 override func viewWillAppear(_ animated: Bool) { 39 override func viewWillAppear(_ animated: Bool) {
metaCode/Classes/Main/HomePage/Controller/CNMetaCodeHomePageController.swift
@@ -18,33 +18,91 @@ let CNKeyIsFirstAppearUpSlideHomeGuide: String = &quot;isFirstAppearUpSlideHomeGuideK @@ -18,33 +18,91 @@ let CNKeyIsFirstAppearUpSlideHomeGuide: String = &quot;isFirstAppearUpSlideHomeGuideK
18 ///存储是否第一次显示首页下滑引导 18 ///存储是否第一次显示首页下滑引导
19 let CNKeyIsFirstAppearDownSlideHomeGuide: String = "isFirstAppearDownSlideHomeGuideKey" 19 let CNKeyIsFirstAppearDownSlideHomeGuide: String = "isFirstAppearDownSlideHomeGuideKey"
20 20
21 -///用户身份认证状态  
22 -enum UserIdentityStatus {  
23 - ///未认证  
24 - case notCertified  
25 - ///已经认证  
26 - case haveBeenCertified 21 +/////用户身份认证状态
  22 +//enum UserIdentityStatus {
  23 +// ///未认证
  24 +// case notCertified
  25 +// ///已经认证
  26 +// case haveBeenCertified
  27 +//}
  28 +
  29 +///数据状态
  30 +enum NetAPIStatus {
  31 + ///接口成功
  32 + case success
  33 + ///接口错误
  34 + case apiError
  35 + ///无网络
  36 + case notNetwork
27 } 37 }
28 38
29 class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDelegate, NewPagedFlowViewDataSource, CNCustomIndexViewDelegate{ 39 class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDelegate, NewPagedFlowViewDataSource, CNCustomIndexViewDelegate{
30 40
31 - ///添加认证View  
32 - lazy var addCertificationView: CNCertificationView = {  
33 - let addCertificationView = CNCertificationView(frame: self.view.bounds) 41 +
  42 + ///NewPagedFlowView 开始滑动时的偏移量
  43 + private var beginOffset = 0.0
  44 + ///tabBar 的Y坐标位置
  45 + private var tabBarY:CGFloat = 0.0
  46 +
  47 + ///用户身份认证状态
  48 +// private var identityStatus: UserIdentityStatus = .notCertified
  49 + ///接口状态
  50 + private var NetApiStatus: NetAPIStatus = .apiError
  51 +
  52 + // MARK: - 懒加载
  53 + ///数据源
  54 + lazy var dataArray: NSMutableArray = {
34 55
35 - addCertificationView.addCertificationAction = {  
36 - [weak self] in  
37 - print("添加认证")  
38 - //模拟认证成功刷新主页面  
39 - let time = DispatchTime.now() + 2.0  
40 - DispatchQueue.main.asyncAfter(deadline: time, execute: DispatchWorkItem(block: {  
41 - self?.addCertificationView.isHidden = true  
42 - self?.addCertificationView.removeFromSuperview()  
43 - self?.addPageView()  
44 - }))  
45 - }  
46 - return addCertificationView 56 + return NSMutableArray.init()
  57 + }()
  58 +
  59 + ///无网.接口失败View
  60 + lazy var notNetworkView: UIView = {
  61 + let W = Width-50
  62 + let H = W*1.5
  63 + let notNetworkView = UIView.init(frame: CGRect(x: 25, y: KSreenHeight*0.16, width: W, height: H ))
  64 + notNetworkView.backgroundColor = UIColor.white
  65 + notNetworkView.clipsToBounds = true
  66 + notNetworkView.layer.cornerRadius = 20
  67 +
  68 + //接口错误Label
  69 +
  70 + return notNetworkView
  71 + }()
  72 +
  73 + //接口错误图片
  74 + lazy var errorImgView: UIImageView = {
  75 + let errorImgView = UIImageView.init(image: UIImage(named: "mine_list_source_unusual_failed"))
  76 + errorImgView.contentMode = .scaleToFill
  77 + return errorImgView
47 }() 78 }()
  79 +
  80 + //接口错误Label
  81 + lazy var errorLabel: UILabel = {
  82 + let errorLabel = UILabel.init()
  83 + errorLabel.textColor = HexColor("#666666")
  84 + errorLabel.textAlignment = .center
  85 + errorLabel.font = Font(15)
  86 + errorLabel.backgroundColor = .clear
  87 + errorLabel.text = "网络开小差了,刷新试试~"
  88 + return errorLabel
  89 + }()
  90 +
  91 + //接口错误刷新按钮
  92 + lazy var errorFreshButton : UIButton = {
  93 + let errorFreshButton = UIButton(type: .custom)
  94 + errorFreshButton.backgroundColor = .clear
  95 + errorFreshButton.addTarget(self, action: #selector(errorFreshButtonAction), for: .touchUpInside)
  96 + errorFreshButton.layer.borderColor = HexColor("#609BFF")?.cgColor
  97 + errorFreshButton.layer.borderWidth = 0.5
  98 + errorFreshButton.setTitle("刷新", for:.normal)
  99 + errorFreshButton.titleLabel?.font = Font(13)
  100 + errorFreshButton.setTitleColor(HexColor("#609BFF"), for: .normal)
  101 + errorFreshButton.clipsToBounds = true
  102 + errorFreshButton.layer.cornerRadius = 10.5
  103 + return errorFreshButton
  104 + }()
  105 +
48 ///上滑引导View 106 ///上滑引导View
49 lazy var upSlideGuideView:CNHomePageGuideView = { 107 lazy var upSlideGuideView:CNHomePageGuideView = {
50 let upSlideGuideView = CNHomePageGuideView.init(frame: UIScreen.main.bounds) 108 let upSlideGuideView = CNHomePageGuideView.init(frame: UIScreen.main.bounds)
@@ -91,22 +149,6 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel @@ -91,22 +149,6 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel
91 return gif 149 return gif
92 }() 150 }()
93 151
94 -  
95 - ///NewPagedFlowView 开始滑动时的偏移量  
96 - private var beginOffset = 0.0  
97 - ///tabBar 的Y坐标位置  
98 - private var tabBarY:CGFloat = 0.0  
99 -  
100 - ///用户身份认证状态  
101 - private var identityStatus: UserIdentityStatus = .notCertified  
102 -  
103 - // MARK: - 懒加载  
104 - ///数据源  
105 - lazy var dataArray: NSMutableArray = {  
106 -  
107 - return NSMutableArray.init()  
108 - }()  
109 -  
110 ///左右滑动分页view 152 ///左右滑动分页view
111 lazy var pageFlowView: NewPagedFlowView = { 153 lazy var pageFlowView: NewPagedFlowView = {
112 let pageFlowView = NewPagedFlowView.init(frame: CGRectMake(0, 0, Width, Height)) 154 let pageFlowView = NewPagedFlowView.init(frame: CGRectMake(0, 0, Width, Height))
@@ -150,43 +192,7 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel @@ -150,43 +192,7 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel
150 super.viewWillAppear(animated) 192 super.viewWillAppear(animated)
151 193
152 print("uid = ",UserInfoManager.shared.userInfo.uid) 194 print("uid = ",UserInfoManager.shared.userInfo.uid)
153 - print("1111")  
154 -  
155 -// let db = CNIdentityDB()  
156 -//  
157 -//  
158 -// let model = CNIdentityModel()  
159 -// model.id = "q_123"  
160 -// model.name = "小米"  
161 -// db.insterObject(object: model)  
162 -//  
163 -// let model2 = CNIdentityModel()  
164 -// model2.id = "a_451"  
165 -// model2.name = "小明"  
166 -// db.insterObject(object: model2)  
167 -//  
168 -// let model4 = CNIdentityModel()  
169 -// model4.id = "3_234"  
170 -// model4.name = "小张"  
171 -// db.insterObject(object: model4)  
172 -//  
173 -//  
174 -// let time:DispatchTime = DispatchTime.now() + 2.0  
175 -// DispatchQueue.main.asyncAfter(deadline: time, execute: DispatchWorkItem(block: {  
176 -//  
177 -// let modelNew = CNIdentityModel()  
178 -// modelNew.id = "a_451"  
179 -// modelNew.name = "小张"  
180 -// modelNew.icon = "http://apple.com"  
181 -// modelNew.createTime = "1234555223"  
182 -// modelNew.enable = true  
183 -// db.updateObject(newObject: modelNew)  
184 -//  
185 -// let allData = CNIdentityDB().searchAllObject()  
186 -// print(allData)  
187 -//  
188 -// }))  
189 - 195 + self.getUserIdentityApi()
190 196
191 } 197 }
192 override func viewDidAppear(_ animated: Bool) { 198 override func viewDidAppear(_ animated: Bool) {
@@ -201,15 +207,52 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel @@ -201,15 +207,52 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel
201 func setupUI(){ 207 func setupUI(){
202 self.view.backgroundColor = KVCBackgroupColor 208 self.view.backgroundColor = KVCBackgroupColor
203 self.view.addSubview(self.backgroupView) 209 self.view.addSubview(self.backgroupView)
  210 + self.view.addSubview(self.notNetworkView)
  211 + notNetworkView.isHidden = true
  212 + self.notNetworkView.addSubview(self.errorImgView)
  213 + self.notNetworkView.addSubview(self.errorLabel)
  214 + self.notNetworkView.addSubview(self.errorFreshButton)
  215 +
  216 + self.makeConstraints()
204 217
205 - switch self.identityStatus{  
206 -  
207 - case .notCertified:  
208 - self.view.addSubview(self.addCertificationView)  
209 - case .haveBeenCertified:  
210 - self.addPageView() 218 +// switch self.identityStatus{
  219 +//
  220 +// case .notCertified:
  221 +// self.view.addSubview(self.addCertificationView)
  222 +// case .haveBeenCertified:
  223 +// self.addPageView()
  224 +// }
  225 +
  226 + }
  227 +
  228 + // MARK: -按钮点击事件
  229 + //无网时刷新
  230 + @objc func errorFreshButtonAction(){
  231 + self.getUserIdentityApi()
  232 + }
  233 +
  234 + // MARK: -添加约束
  235 + func makeConstraints(){
  236 + self.errorImgView.snp.makeConstraints { make in
  237 + make.centerX.equalToSuperview()
  238 + make.centerY.equalToSuperview().offset(-60)
  239 + make.width.equalTo(190.5)
  240 + make.height.equalTo(100)
  241 + }
  242 +
  243 + self.errorLabel.snp.makeConstraints { make in
  244 + make.centerX.equalToSuperview()
  245 + make.top.equalTo(errorImgView.snp.bottom).offset(10.5)
  246 + make.width.equalToSuperview()
  247 + make.height.equalTo(21)
  248 + }
  249 +
  250 + self.errorFreshButton.snp.makeConstraints { make in
  251 + make.centerX.equalToSuperview()
  252 + make.top.equalTo(errorLabel.snp.bottom).offset(15)
  253 + make.width.equalTo(60)
  254 + make.height.equalTo(26)
211 } 255 }
212 -  
213 256
214 } 257 }
215 258
@@ -261,8 +304,8 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel @@ -261,8 +304,8 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel
261 bannerView?.superScrollView = flowView.scrollView 304 bannerView?.superScrollView = flowView.scrollView
262 bannerView?.associatedVCView = self.view 305 bannerView?.associatedVCView = self.view
263 bannerView?.delegate = self 306 bannerView?.delegate = self
264 - let identityModel = dataArray[index] as! CNLiveIdentityModel  
265 - 307 + let identityModel = dataArray[index] as! StandListModel
  308 + bannerView?.idModel = identityModel
266 return bannerView 309 return bannerView
267 } 310 }
268 311
@@ -281,7 +324,6 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel @@ -281,7 +324,6 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel
281 324
282 if(currentOffset > beginOffset){ 325 if(currentOffset > beginOffset){
283 326
284 -  
285 if let rightView = self.backgroupView.getRightView(){ 327 if let rightView = self.backgroupView.getRightView(){
286 328
287 if let currentApearView = self.backgroupView.currentApearView{ 329 if let currentApearView = self.backgroupView.currentApearView{
@@ -381,28 +423,63 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel @@ -381,28 +423,63 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel
381 } 423 }
382 } 424 }
383 } 425 }
384 - //MARK: - 网络请求  
385 - func getUserIdentityApi(){  
386 - CNLiveHomePageViewModel.getUserIdentityApi { listArray, responseType, errorMsg in  
387 - switch responseType{  
388 - case .success:  
389 - if(listArray.count>0){  
390 - self.addCertificationView.isHidden = true  
391 - self.addCertificationView.removeFromSuperview()  
392 - self.dataArray.addObjects(from: listArray)  
393 - self.addPageView()  
394 - self.identityStatus = .haveBeenCertified  
395 - self.backgroupView.updateData(idArray: listArray )  
396 - }else{  
397 - self.identityStatus = .notCertified  
398 - }  
399 -  
400 - case .failed:  
401 - showMessage(message: errorMsg)  
402 - case .noNetwork:  
403 - showMessage(message: "网络未连接") 426 + //MARK: - 网络请求获取身份列表
  427 + func getUserIdentityApi()
  428 + {
  429 + CNLiveMineViewModel.requestAuthStandList(page: 1)
  430 + { result, respStatue in
  431 +
  432 + if respStatue == .success{
  433 + self.NetApiStatus = .success
  434 + let listArray:NSArray = (result as! StandListBaseModel).list as NSArray
  435 + if (listArray.count > 0){
  436 +// self.addCertificationView.isHidden = true
  437 +// self.addCertificationView.removeFromSuperview()
  438 + self.dataArray = NSMutableArray.init()
  439 + self.dataArray.addObjects(from: listArray as! [Any])
  440 + self.addPageView()
  441 +
  442 +// self.identityStatus = .haveBeenCertified
  443 + self.backgroupView.updateData(idArray: listArray as! Array<StandListModel>)
  444 + }else{
  445 + self.NetApiStatus = .apiError
  446 +// self.identityStatus = .notCertified
404 } 447 }
  448 + }
  449 + else if (respStatue == .failed){
  450 + self.NetApiStatus = .apiError
  451 + }else if (respStatue == .noNetwork){
  452 + self.NetApiStatus = .notNetwork
  453 + }
  454 + self.notNetworkSetting()
405 } 455 }
406 } 456 }
407 457
  458 + //无网络,接口失败 配置
  459 + func notNetworkSetting(){
  460 + switch NetApiStatus{
  461 + case .success://隐藏无网,错误页面,显示UI
  462 + self.pageFlowView.scrollView.isUserInteractionEnabled = true
  463 + self.pageFlowView.isHidden = false
  464 + self.notNetworkView.isHidden = true
  465 + notNetworkView.isHidden = true
  466 + case .apiError://显示错误页面,隐藏UI
  467 + self.pageFlowView.scrollView.isUserInteractionEnabled = false
  468 + self.pageFlowView.isHidden = true
  469 + self.notNetworkView.isHidden = false
  470 + notNetworkView.isHidden = false
  471 + errorImgView.image = UIImage(named: "mine_list_source_unusual_failed")
  472 + errorLabel.text = "接口请求错误,刷新试试~"
  473 + case .notNetwork://显示无网页面,隐藏UI
  474 + self.pageFlowView.scrollView.isUserInteractionEnabled = false
  475 + self.pageFlowView.isHidden = true
  476 + self.notNetworkView.isHidden = false
  477 + notNetworkView.isHidden = false
  478 + errorImgView.image = UIImage(named: "mine_list_source_unusual_noNet")
  479 + errorLabel.text = "网络开小差了,刷新试试~"
  480 + }
  481 +
  482 +
  483 + }
  484 +
408 } 485 }
metaCode/Classes/Main/HomePage/View/CNCertificationView.swift
@@ -24,28 +24,28 @@ class CNCertificationView : UIView{ @@ -24,28 +24,28 @@ class CNCertificationView : UIView{
24 24
25 }() 25 }()
26 26
27 - ///添加身份认证按钮  
28 - lazy var addCerBtn: UIButton = {  
29 - let addCerBtn = UIButton(type: .custom)  
30 - addCerBtn.frame = CGRect(x: 0, y: 0, width: 145, height: 141)  
31 - addCerBtn.centerX = self.contentView.width/2  
32 - addCerBtn.centerY = self.contentView.height/2  
33 - addCerBtn.setImage(UIImage(named: "homePage_addCertification_icon"), for: .normal)  
34 - addCerBtn.addTarget(self, action: #selector(addCerBtnAction), for: .touchUpInside)  
35 - return addCerBtn  
36 - }()  
37 -  
38 - ///添加身份按钮底部标题  
39 - lazy var addCerBtnBottomTitle: UILabel = {  
40 - let addCerBtnBottomTitle = UILabel(frame: CGRect(x: 0, y: self.addCerBtn.bottom - 10, width: 100, height: 22))  
41 - addCerBtnBottomTitle.centerX = self.addCerBtn.centerX  
42 - addCerBtnBottomTitle.textColor = UIColor("#0066FE")  
43 - addCerBtnBottomTitle.textAlignment = .center  
44 - addCerBtnBottomTitle.font = UIFont.systemFont(ofSize: 15, weight: .regular)  
45 - addCerBtnBottomTitle.text = "身份认证"  
46 - return addCerBtnBottomTitle  
47 -  
48 - }() 27 +// ///添加身份认证按钮
  28 +// lazy var addCerBtn: UIButton = {
  29 +// let addCerBtn = UIButton(type: .custom)
  30 +// addCerBtn.frame = CGRect(x: 0, y: 0, width: 145, height: 141)
  31 +// addCerBtn.centerX = self.contentView.width/2
  32 +// addCerBtn.centerY = self.contentView.height/2
  33 +// addCerBtn.setImage(UIImage(named: "homePage_addCertification_icon"), for: .normal)
  34 +// addCerBtn.addTarget(self, action: #selector(addCerBtnAction), for: .touchUpInside)
  35 +// return addCerBtn
  36 +// }()
  37 +//
  38 +// ///添加身份按钮底部标题
  39 +// lazy var addCerBtnBottomTitle: UILabel = {
  40 +// let addCerBtnBottomTitle = UILabel(frame: CGRect(x: 0, y: self.addCerBtn.bottom - 10, width: 100, height: 22))
  41 +// addCerBtnBottomTitle.centerX = self.addCerBtn.centerX
  42 +// addCerBtnBottomTitle.textColor = UIColor("#0066FE")
  43 +// addCerBtnBottomTitle.textAlignment = .center
  44 +// addCerBtnBottomTitle.font = UIFont.systemFont(ofSize: 15, weight: .regular)
  45 +// addCerBtnBottomTitle.text = "身份认证"
  46 +// return addCerBtnBottomTitle
  47 +//
  48 +// }()
49 49
50 override init(frame: CGRect) { 50 override init(frame: CGRect) {
51 super.init(frame: frame) 51 super.init(frame: frame)
@@ -60,15 +60,15 @@ class CNCertificationView : UIView{ @@ -60,15 +60,15 @@ class CNCertificationView : UIView{
60 func initUI() 60 func initUI()
61 { 61 {
62 self.addSubview(self.contentView) 62 self.addSubview(self.contentView)
63 - self.contentView.addSubview(self.addCerBtn)  
64 - self.contentView.addSubview(self.addCerBtnBottomTitle)  
65 - } 63 +// self.contentView.addSubview(self.addCerBtn)
  64 +// self.contentView.addSubview(self.addCerBtnBottomTitle)
  65 +// }
66 66
67 - @objc func addCerBtnAction(){  
68 -  
69 - if(self.addCertificationAction != nil){  
70 - self.addCertificationAction!()  
71 - }  
72 - 67 +// @objc func addCerBtnAction(){
  68 +//
  69 +// if(self.addCertificationAction != nil){
  70 +// self.addCertificationAction!()
  71 +// }
  72 +//
73 } 73 }
74 } 74 }
metaCode/Classes/Main/HomePage/View/CNCustomIndexView.swift
@@ -97,6 +97,35 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange @@ -97,6 +97,35 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange
97 ///父视图ScrollView 97 ///父视图ScrollView
98 weak var superScrollView:UIScrollView? 98 weak var superScrollView:UIScrollView?
99 99
  100 + //IDmodel
  101 + var _idModel : StandListModel?
  102 + var idModel : StandListModel? {
  103 + get{
  104 + _idModel
  105 + }
  106 + set{
  107 + self.mainView.idModel = newValue!
  108 + _idModel = newValue
  109 + self.upSlideView.url = _idModel?.upPath
  110 + self.downSlideView.url = _idModel?.downPath
  111 + }
  112 +
  113 + }
  114 +
  115 +// private(set) var userInfo: UserInfoModel {
  116 +//
  117 +// set {
  118 +// _userInfo = newValue
  119 +// }
  120 +//
  121 +// get {
  122 +// if _userInfo != nil && (_userInfo?.uid.count)! > 0 {
  123 +// return _userInfo!
  124 +// }
  125 +// return UserInfoManager.readUserInfo()
  126 +// }
  127 +// }
  128 +
100 // MARK: - 懒加载 129 // MARK: - 懒加载
101 130
102 ///颜色数据 131 ///颜色数据
@@ -139,6 +168,7 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange @@ -139,6 +168,7 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange
139 ///下滑显示的VIew 168 ///下滑显示的VIew
140 lazy var downSlideView: CNDownSlideView = { 169 lazy var downSlideView: CNDownSlideView = {
141 let collectionView = CNDownSlideView.init(frame: CGRectMake(-25, 0, self.frame.size.width + 50, self.frame.size.height)) 170 let collectionView = CNDownSlideView.init(frame: CGRectMake(-25, 0, self.frame.size.width + 50, self.frame.size.height))
  171 + collectionView.backgroundColor = .clear
142 collectionView.backAction = {[weak self] in 172 collectionView.backAction = {[weak self] in
143 self?.baseScrollView.setContentOffset(CGPoint(x: 0, y: (self!.baseScrollView.height)), animated: true) 173 self?.baseScrollView.setContentOffset(CGPoint(x: 0, y: (self!.baseScrollView.height)), animated: true)
144 self?.superScrollView?.isScrollEnabled = true 174 self?.superScrollView?.isScrollEnabled = true
@@ -222,6 +252,11 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange @@ -222,6 +252,11 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange
222 // self.addGestureRecognizer(singleTap) 252 // self.addGestureRecognizer(singleTap)
223 // } 253 // }
224 254
  255 + // MARK: - 设置前置视图容器
  256 + func isHiddenMainFrontContentView(isHidden:Bool){
  257 + self.mainView.isHiddenMainFrontContentView(isHidden: isHidden)
  258 + }
  259 +
225 // MARK: - 设置颜色值跟随ScrollView滑动变化 260 // MARK: - 设置颜色值跟随ScrollView滑动变化
226 func addColorManager() 261 func addColorManager()
227 { 262 {
metaCode/Classes/Main/HomePage/View/CNDownSlideView.swift
@@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
7 7
8 import Foundation 8 import Foundation
9 import UIKit 9 import UIKit
  10 +import WebKit
10 11
11 typealias backBlock = ()->Void; 12 typealias backBlock = ()->Void;
12 13
@@ -35,6 +36,32 @@ class CNDownSlideView:UIView{ @@ -35,6 +36,32 @@ class CNDownSlideView:UIView{
35 return contentView 36 return contentView
36 }() 37 }()
37 38
  39 + //h5网页
  40 + // TODO: H:-10原为self.height-KTabBarHeight,但有白条,改成了-10
  41 + lazy var webView: WKWebView = {
  42 + let webView = WKWebView.init(frame: CGRectMake(0, 0, self.width, self.height-KTabBarHeight-10))
  43 + webView.scrollView.showsVerticalScrollIndicator = false
  44 + webView.scrollView.showsHorizontalScrollIndicator = false
  45 + webView.backgroundColor = .clear
  46 + webView.isOpaque = false
  47 + return webView
  48 + }()
  49 +
  50 + var _url:String?
  51 + var url:String? {
  52 + get{
  53 + return _url
  54 + }
  55 + set{
  56 + _url = newValue!
  57 +// _url = "https://www.baidu.com"
  58 + if (_url != ""){
  59 + let webUrl: URL! = URL.init(string: _url!)
  60 + webView.load(URLRequest.init(url:webUrl))
  61 + }
  62 + }
  63 + }
  64 +
38 lazy var topView:UIView = { 65 lazy var topView:UIView = {
39 66
40 let tempTopView = UIView(frame: CGRect(x:0, y:20, width: self.width - 50, height: 70)) 67 let tempTopView = UIView(frame: CGRect(x:0, y:20, width: self.width - 50, height: 70))
@@ -83,8 +110,10 @@ class CNDownSlideView:UIView{ @@ -83,8 +110,10 @@ class CNDownSlideView:UIView{
83 ///初始化UI 110 ///初始化UI
84 func initUI(){ 111 func initUI(){
85 self.addSubview(self.contentView) 112 self.addSubview(self.contentView)
86 - self.addSubview(self.topView) 113 + self.contentView.addSubview(self.webView)
  114 +// self.addSubview(self.topView)
87 self.addSubview(self.bottomView) 115 self.addSubview(self.bottomView)
  116 +
88 } 117 }
89 118
90 @objc func backBtnAction(){ 119 @objc func backBtnAction(){
metaCode/Classes/Main/HomePage/View/CNHomePageBackgroupView.swift
@@ -17,6 +17,7 @@ class CNHomePageBackgroupSubView : UIView @@ -17,6 +17,7 @@ class CNHomePageBackgroupSubView : UIView
17 var nextSubView: CNHomePageBackgroupSubView? 17 var nextSubView: CNHomePageBackgroupSubView?
18 18
19 var name: String = "" 19 var name: String = ""
  20 +
20 lazy var imageView: UIImageView = { 21 lazy var imageView: UIImageView = {
21 let imageView: UIImageView = UIImageView(image: UIImage(named: "homePage_backgroup_blue")) 22 let imageView: UIImageView = UIImageView(image: UIImage(named: "homePage_backgroup_blue"))
22 imageView.frame = self.bounds 23 imageView.frame = self.bounds
@@ -24,9 +25,9 @@ class CNHomePageBackgroupSubView : UIView @@ -24,9 +25,9 @@ class CNHomePageBackgroupSubView : UIView
24 }() 25 }()
25 26
26 lazy var titleLabel: UILabel = { 27 lazy var titleLabel: UILabel = {
27 - let titleLabel = UILabel.init(frame: CGRectMake(25, KNavigationHeight - 20, KSreenWidth - 100, 35)) 28 + let titleLabel = UILabel.init(frame: CGRectMake(25, KNavigationHeight - 20, KSreenWidth - 50, 35))
28 titleLabel.textColor = .white 29 titleLabel.textColor = .white
29 - titleLabel.font = UIFont.systemFont(ofSize: 24, weight: .semibold) 30 + titleLabel.font = UIFont.systemFont(ofSize: 20, weight: .semibold)
30 return titleLabel 31 return titleLabel
31 }() 32 }()
32 33
@@ -93,49 +94,26 @@ class CNHomePageBackgroupView: UIView{ @@ -93,49 +94,26 @@ class CNHomePageBackgroupView: UIView{
93 //创建UI 94 //创建UI
94 func initUI(){ 95 func initUI(){
95 96
96 -  
97 } 97 }
98 98
99 - func updateData(idArray:Array<CNLiveIdentityModel>){ 99 + func updateData(idArray:Array<StandListModel>){
  100 + let array = self.subviews
  101 + for i in (0..<array.count){
  102 + let obj:UIView = array[i]
  103 + obj.removeFromSuperview()
  104 + }
  105 + self.dataArray = Array<CNHomePageBackgroupSubView>()
  106 +
100 for i in (0..<idArray.count){ 107 for i in (0..<idArray.count){
101 108
102 let subView: CNHomePageBackgroupSubView = CNHomePageBackgroupSubView.init(frame: self.bounds) 109 let subView: CNHomePageBackgroupSubView = CNHomePageBackgroupSubView.init(frame: self.bounds)
103 subView.frame = self.bounds 110 subView.frame = self.bounds
104 111
105 - let idModel:CNLiveIdentityModel = idArray[i] 112 + let idModel:StandListModel = idArray[i]
106 let navTitle:String = idModel.name! 113 let navTitle:String = idModel.name!
107 subView.setTitle(title: navTitle) 114 subView.setTitle(title: navTitle)
108 115
109 - subView.imageView.kf.setImage(with: URL(string: idModel.backgroundImg!))  
110 - //.setImageWith(URL(string: idModel.backgroundImg ?? "")!, placeholderImage: UIImage(named: "homePage_backgroup_red"))  
111 -// if (i == 0) {  
112 -//  
113 -// subView.name = navTitle  
114 -// }  
115 -// else if(i == 1){  
116 -// subView.setTitle(title: "退伍军人")  
117 -// subView.setImage(image: UIImage(named: "homePage_backgroup_blue"))  
118 -// subView.name = "退伍军人"  
119 -//  
120 -// }  
121 -// else if(i == 2){  
122 -// subView.setTitle(title: "慈善家")  
123 -// subView.setImage(image: UIImage(named: "homePage_backgroup_red"))  
124 -// subView.name = "慈善家"  
125 -//  
126 -// }  
127 -// else if(i == 3){  
128 -// subView.setTitle(title: "退休干部")  
129 -// subView.setImage(image: UIImage(named: "homePage_backgroup_blue"))  
130 -// subView.name = "退休干部"  
131 -//  
132 -// }  
133 -// else if(i == 4){  
134 -// subView.setTitle(title: "退休医生")  
135 -// subView.setImage(image: UIImage(named: "homePage_backgroup_red"))  
136 -// subView.name = "退伍军人"  
137 -//  
138 -// } 116 + subView.imageView.kf.setImage(with: URL(string: idModel.backgroundImg),placeholder: UIImage(named: "homePage_backgroup_blue"))
139 117
140 //更新双向链表 118 //更新双向链表
141 let lastSubView: CNHomePageBackgroupSubView? = self.dataArray.last 119 let lastSubView: CNHomePageBackgroupSubView? = self.dataArray.last
@@ -173,7 +151,7 @@ class CNHomePageBackgroupView: UIView{ @@ -173,7 +151,7 @@ class CNHomePageBackgroupView: UIView{
173 } 151 }
174 ///获取当前视图右边的子视图 152 ///获取当前视图右边的子视图
175 func getRightView()->CNHomePageBackgroupSubView?{ 153 func getRightView()->CNHomePageBackgroupSubView?{
176 - if(currentApearViewIndex == self.dataArray.count - 1){ 154 + if(currentApearViewIndex >= self.dataArray.count - 1){
177 return nil 155 return nil
178 } 156 }
179 return dataArray[currentApearViewIndex + 1] 157 return dataArray[currentApearViewIndex + 1]
@@ -203,7 +181,6 @@ class CNHomePageBackgroupView: UIView{ @@ -203,7 +181,6 @@ class CNHomePageBackgroupView: UIView{
203 } 181 }
204 //更新当前显示的view所处的位置 182 //更新当前显示的view所处的位置
205 self.currentApearViewIndex = toIndex 183 self.currentApearViewIndex = toIndex
206 -  
207 184
208 //重置之前的currentApearView的Left 和 right 185 //重置之前的currentApearView的Left 和 right
209 tempSubView?.maskLayer.left = 0; 186 tempSubView?.maskLayer.left = 0;
metaCode/Classes/Main/HomePage/View/CNIDCardView.swift 0 → 100644
  1 +//
  2 +// CNIDCardView.swift
  3 +// metaCode
  4 +//
  5 +// Created by zx on 2023/9/16.
  6 +//
  7 +
  8 +import Foundation
  9 +
  10 +class CNIDCardView: UIView{
  11 +
  12 + //IDmodel
  13 + var _idModel : StandListModel?
  14 + var idModel : StandListModel? {
  15 + get{
  16 + _idModel
  17 + }
  18 + set{
  19 + _idModel = newValue
  20 + iDCardBGView.kf.setImage(with: URL(string: _idModel!.cardImg), placeholder: UIImage(named: "homePage_idCardBG"))
  21 + nameLabel.textColor = HexColor("\(_idModel!.backgroundColor)")
  22 + sexLabel.textColor = HexColor("\(_idModel!.backgroundColor)")
  23 + dateLabel.textColor = HexColor("\(_idModel!.backgroundColor)")
  24 + IDLabel.textColor = HexColor("\(_idModel!.backgroundColor)")
  25 + nameValueLabel.textColor = HexColor("\(_idModel!.backgroundColor)")
  26 + sexValueLabel.textColor = HexColor("\(_idModel!.backgroundColor)")
  27 + dateValueLabel.textColor = HexColor("\(_idModel!.backgroundColor)")
  28 + IDValueLabel.textColor = HexColor("\(_idModel!.backgroundColor)")
  29 +
  30 + self.loadIDDetailData()
  31 + }
  32 + }
  33 +
  34 + override init(frame: CGRect) {
  35 + super.init(frame: frame)
  36 + self.initUI()
  37 + self.makeConstraints()
  38 + }
  39 +
  40 + required init?(coder: NSCoder) {
  41 + fatalError("init(coder:) has not been implemented")
  42 + }
  43 +
  44 + func initUI()
  45 + {
  46 + self.addSubview(self.contentView)
  47 + self.contentView.addSubview(self.iDCardBGView)
  48 + self.contentView.addSubview(self.nameLabel)
  49 + self.contentView.addSubview(self.sexLabel)
  50 + self.contentView.addSubview(self.dateLabel)
  51 + self.contentView.addSubview(self.IDLabel)
  52 + self.contentView.addSubview(self.nameValueLabel)
  53 + self.contentView.addSubview(self.sexValueLabel)
  54 + self.contentView.addSubview(self.dateValueLabel)
  55 + self.contentView.addSubview(self.IDValueLabel)
  56 + }
  57 +
  58 + func loadIDDetailData(){
  59 + CNLiveMineViewModel.requestsStandInfo(identityId: "\(_idModel!.id)", type: .havedate) { result, respStatue in
  60 + if respStatue == .success {
  61 + let cardArray = result as! NSMutableArray
  62 + for i in (0..<cardArray.count){
  63 + let idCardModel = cardArray[i] as! MineStandInfoModel
  64 + switch idCardModel.name {
  65 + case "姓名":
  66 + self.nameValueLabel.text = idCardModel.userInfo
  67 + case "性别":
  68 + self.sexValueLabel.text = idCardModel.userInfo
  69 + case "认证时间":
  70 + self.dateValueLabel.text = idCardModel.userInfo
  71 + case "编号":
  72 + self.IDValueLabel.text = idCardModel.userInfo
  73 +
  74 + default:
  75 + break
  76 + }
  77 + }
  78 + }
  79 + }
  80 + }
  81 +
  82 + // MARK: - 懒加载
  83 + ///视图总容器
  84 + lazy var contentView : UIView = {
  85 +
  86 + let contentView = UIView.init(frame: CGRect(x: 0, y: 0, width: self.width, height: self.height ))
  87 + contentView.backgroundColor = UIColor.white
  88 + return contentView
  89 + }()
  90 +
  91 + /// 身份卡片-背景图
  92 + lazy var iDCardBGView:UIImageView = {
  93 +
  94 + let iDCardBGView:UIImageView = UIImageView(frame: CGRect(x: 20, y: 25, width: self.width-40, height: (self.width-40) * 0.64))
  95 + iDCardBGView.backgroundColor = UIColor.clear
  96 + return iDCardBGView
  97 + }()
  98 +
  99 + //姓名Label
  100 + lazy var nameLabel: UILabel = {
  101 + let nameLabel = UILabel.init()
  102 + nameLabel.textColor = .blue
  103 + nameLabel.textAlignment = .left
  104 + nameLabel.font = Font(13)
  105 + nameLabel.backgroundColor = .clear
  106 + nameLabel.text = "姓 名"
  107 + return nameLabel
  108 + }()
  109 +
  110 + //性别Label
  111 + lazy var sexLabel: UILabel = {
  112 + let sexLabel = UILabel.init()
  113 + sexLabel.textColor = .blue//HexColor("#666666")
  114 + sexLabel.textAlignment = .left
  115 + sexLabel.font = Font(13)
  116 + sexLabel.backgroundColor = .clear
  117 + sexLabel.text = "性 别"
  118 + return sexLabel
  119 + }()
  120 +
  121 + //注册日期Label
  122 + lazy var dateLabel: UILabel = {
  123 + let dateLabel = UILabel.init()
  124 + dateLabel.textColor = .blue//HexColor("#666666")
  125 + dateLabel.textAlignment = .left
  126 + dateLabel.font = Font(13)
  127 + dateLabel.backgroundColor = .clear
  128 + dateLabel.text = "注册日期"
  129 + return dateLabel
  130 + }()
  131 +
  132 + //编号Label
  133 + lazy var IDLabel: UILabel = {
  134 + let IDLabel = UILabel.init()
  135 + IDLabel.textColor = .blue//HexColor("#666666")
  136 + IDLabel.textAlignment = .left
  137 + IDLabel.font = Font(13)
  138 + IDLabel.backgroundColor = .clear
  139 + IDLabel.text = "编 号"
  140 + return IDLabel
  141 + }()
  142 +
  143 + //姓名ValueLabel
  144 + lazy var nameValueLabel: UILabel = {
  145 + let nameValueLabel = UILabel.init()
  146 + nameValueLabel.textColor = .blue
  147 + nameValueLabel.textAlignment = .left
  148 + nameValueLabel.font = Font(13)
  149 + nameValueLabel.backgroundColor = .clear
  150 + nameValueLabel.text = "姓名"
  151 + return nameValueLabel
  152 + }()
  153 +
  154 + //性别ValueLabel
  155 + lazy var sexValueLabel: UILabel = {
  156 + let sexValueLabel = UILabel.init()
  157 + sexValueLabel.textColor = .blue//HexColor("#666666")
  158 + sexValueLabel.textAlignment = .left
  159 + sexValueLabel.font = Font(13)
  160 + sexValueLabel.backgroundColor = .clear
  161 + sexValueLabel.text = "男"
  162 + return sexValueLabel
  163 + }()
  164 +
  165 + //注册日期ValueLabel
  166 + lazy var dateValueLabel: UILabel = {
  167 + let dateValueLabel = UILabel.init()
  168 + dateValueLabel.textColor = .blue//HexColor("#666666")
  169 + dateValueLabel.textAlignment = .left
  170 + dateValueLabel.font = Font(13)
  171 + dateValueLabel.backgroundColor = .clear
  172 + dateValueLabel.text = "2022年1月1日"
  173 + return dateValueLabel
  174 + }()
  175 +
  176 + //编号ValueLabel
  177 + lazy var IDValueLabel: UILabel = {
  178 + let IDValueLabel = UILabel.init()
  179 + IDValueLabel.textColor = .blue//HexColor("#666666")
  180 + IDValueLabel.textAlignment = .left
  181 + IDValueLabel.font = Font(13)
  182 + IDValueLabel.backgroundColor = .clear
  183 + IDValueLabel.text = "123"
  184 + return IDValueLabel
  185 + }()
  186 +
  187 + // MARK: - 约束
  188 + func makeConstraints(){
  189 + self.iDCardBGView.snp.makeConstraints { make in
  190 + make.centerX.equalToSuperview()
  191 + make.centerY.equalToSuperview()
  192 + make.width.equalToSuperview()
  193 + make.height.equalToSuperview()
  194 + }
  195 + //标签
  196 + self.nameLabel.snp.makeConstraints { make in
  197 + make.left.equalToSuperview().offset(20)
  198 + make.top.equalTo(60)
  199 + }
  200 + self.sexLabel.snp.makeConstraints { make in
  201 + make.left.equalToSuperview().offset(20)
  202 + make.top.equalTo(nameLabel.snp.bottom).offset(10)
  203 + }
  204 + self.dateLabel.snp.makeConstraints { make in
  205 + make.left.equalToSuperview().offset(20)
  206 + make.top.equalTo(sexLabel.snp.bottom).offset(10)
  207 + }
  208 + self.IDLabel.snp.makeConstraints { make in
  209 + make.left.equalToSuperview().offset(20)
  210 + make.top.equalTo(dateLabel.snp.bottom).offset(10)
  211 + }
  212 + //标签值
  213 + self.nameValueLabel.snp.makeConstraints { make in
  214 + make.left.equalTo(nameLabel.snp.right).offset(10)
  215 + make.top.equalTo(nameLabel.snp.top)
  216 + }
  217 + self.sexValueLabel.snp.makeConstraints { make in
  218 + make.left.equalTo(nameLabel.snp.right).offset(10)
  219 + make.top.equalTo(sexLabel.snp.top)
  220 + }
  221 + self.dateValueLabel.snp.makeConstraints { make in
  222 + make.left.equalTo(nameLabel.snp.right).offset(10)
  223 + make.top.equalTo(dateLabel.snp.top)
  224 + }
  225 + self.IDValueLabel.snp.makeConstraints { make in
  226 + make.left.equalTo(nameLabel.snp.right).offset(10)
  227 + make.top.equalTo(IDLabel.snp.top)
  228 + }
  229 + }
  230 +
  231 +}
metaCode/Classes/Main/HomePage/View/CNMainView.swift
@@ -6,12 +6,10 @@ @@ -6,12 +6,10 @@
6 // 6 //
7 7
8 import Foundation 8 import Foundation
9 - 9 +import UIKit
10 ///旋转动画时间 10 ///旋转动画时间
11 let KTransformAnimationTime:CGFloat = 0.75; 11 let KTransformAnimationTime:CGFloat = 0.75;
12 12
13 -  
14 -  
15 ///正面View 13 ///正面View
16 class CNFrontMainView : UIView{ 14 class CNFrontMainView : UIView{
17 ///点击反转事件 15 ///点击反转事件
@@ -20,66 +18,142 @@ class CNFrontMainView : UIView{ @@ -20,66 +18,142 @@ class CNFrontMainView : UIView{
20 override init(frame: CGRect) { 18 override init(frame: CGRect) {
21 super.init(frame: frame) 19 super.init(frame: frame)
22 self.initUI() 20 self.initUI()
23 - let tap:UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(tapAction))  
24 - self.addGestureRecognizer(tap) 21 +// let tap:UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(tapAction))
  22 +// self.addGestureRecognizer(tap)
25 } 23 }
26 24
27 required init?(coder: NSCoder) { 25 required init?(coder: NSCoder) {
28 fatalError("init(coder:) has not been implemented") 26 fatalError("init(coder:) has not been implemented")
29 } 27 }
30 - lazy var nameLabel: UILabel = {  
31 - let nameLabel = UILabel.init()  
32 - nameLabel.textColor = .white  
33 - nameLabel.font = Font_16  
34 - nameLabel.text = "啊啊"  
35 - nameLabel.textColor = .red  
36 - return nameLabel 28 +
  29 + ///视图总容器
  30 + lazy var frontContentView : UIView = {
  31 +
  32 + let frontContentView = UIView.init(frame: CGRect(x: 0, y: 0, width: self.width, height: self.height ))
  33 + frontContentView.backgroundColor = UIColor.white
  34 + frontContentView.clipsToBounds = true
  35 + frontContentView.layer.cornerRadius = 20
  36 + frontContentView.addSubview(self.contentView)
  37 + return frontContentView
37 }() 38 }()
38 39
39 - lazy var imageView:UIImageView = { 40 + /// 已认证-身份卡片
  41 + lazy var iDCardView:CNIDCardView = {
40 42
41 - let tempImageView:UIImageView = UIImageView(frame: CGRect(x: 0, y: 0, width: self.width, height: self.width * 0.7))  
42 - tempImageView.image = UIImage(named: "homePage_zhongguorenming_bank")  
43 -  
44 - let path : UIBezierPath = UIBezierPath.init(roundedRect: tempImageView.bounds, byRoundingCorners: [.topLeft, .topRight], cornerRadii: CGSize(width: 20, height: 20))  
45 -  
46 - let maskLayer = CAShapeLayer()  
47 - maskLayer.frame = tempImageView.bounds  
48 - maskLayer.path = path.cgPath  
49 - tempImageView.layer.mask = maskLayer 43 + let iDCardView:CNIDCardView = CNIDCardView(frame: CGRect(x: 20, y: 25, width: self.width-40, height: (self.width-40) * 0.64))
  44 + return iDCardView
  45 + }()
  46 +
  47 + //未认证下 textview
  48 + lazy var textView: UITextView = {
  49 + let textView = UITextView.init()
50 50
51 - return tempImageView 51 + textView.textColor = HexColor("#333333")
  52 + textView.font = UIFont.init(name: "PingFangSC-Medium", size: 13)
  53 + textView.textAlignment = .left
  54 + textView.contentMode = .scaleAspectFill
  55 + textView.sizeToFit()
  56 + textView.backgroundColor = HexColor("#004FE0", alpha: 0.1)
  57 + textView.clipsToBounds = true
  58 + textView.layer.cornerRadius = 14
  59 + textView.isUserInteractionEnabled = false
  60 + return textView
  61 + }()
  62 +
  63 + ///点击添加身份 按钮
  64 + lazy var addStandBtn: UIButton = {
  65 + let addStandBtn = UIButton(type: .custom)
  66 + addStandBtn.clipsToBounds = true
  67 + addStandBtn.layer.cornerRadius = 19.5
  68 + addStandBtn.backgroundColor = HexColor("#004FE0")
  69 + addStandBtn.setTitle("点击添加身份", for: .normal)
  70 + addStandBtn.setTitleColor(.white, for: .normal)
  71 + addStandBtn.titleLabel?.font = UIFont.init(name: "PingFangSC-Medium", size: 14)
  72 + addStandBtn.addTarget(self, action: #selector(addStandBtnAction), for: .touchUpInside)
  73 + return addStandBtn
52 }() 74 }()
53 75
  76 + ///前置视图容器
54 lazy var contentView : UIView = { 77 lazy var contentView : UIView = {
55 78
56 let contentView = UIView.init(frame: CGRect(x: 0, y: 0, width: self.width, height: self.height )) 79 let contentView = UIView.init(frame: CGRect(x: 0, y: 0, width: self.width, height: self.height ))
57 contentView.backgroundColor = UIColor.white 80 contentView.backgroundColor = UIColor.white
58 contentView.clipsToBounds = true 81 contentView.clipsToBounds = true
59 contentView.layer.cornerRadius = 20 82 contentView.layer.cornerRadius = 20
60 -  
61 - let W = contentView.width - 40  
62 - let imageView = UIImageView.init(frame: CGRect(x: 20, y: 25, width: W, height: W*0.63))  
63 - imageView.image = UIImage.init(named: "homePage_mainView_front");  
64 - contentView.addSubview(imageView)  
65 -  
66 - nameLabel.frame = CGRect(x: 0, y: 0, width: 100, height: 30)  
67 - nameLabel.text = "啊啊"  
68 - contentView.addSubview(nameLabel) 83 + contentView.addSubview(self.addStandBtn)
  84 + addStandBtn.snp.makeConstraints { make in
  85 + make.centerX.equalToSuperview()
  86 + make.bottom.equalToSuperview().offset(-30)
  87 + make.width.equalTo(150)
  88 + make.height.equalTo(39)
  89 + }
  90 +
  91 + contentView.addSubview(self.textView)
  92 + textView.snp.makeConstraints { make in
  93 + make.top.equalToSuperview().offset(40)
  94 + make.left.equalToSuperview().offset(30)
  95 + make.right.equalToSuperview().offset(-30)
  96 + make.bottom.equalTo(addStandBtn.snp.top).offset(-30)
  97 + }
69 98
70 return contentView 99 return contentView
71 100
72 }() 101 }()
73 102
  103 + //IDmodel
  104 + var _idModel : StandListModel?
  105 + var idModel : StandListModel? {
  106 + get{
  107 + _idModel
  108 + }
  109 + set{
  110 + _idModel = newValue
  111 + let auth = newValue!.auth
  112 + if(auth == true){
  113 + //已认证身份
  114 + //显示证件View
  115 + print("已认证身份")
  116 + iDCardView.isHidden = false
  117 + iDCardView.idModel = newValue!
  118 + contentView.isHidden = true
  119 +
  120 + }else
  121 + {//未认证身份
  122 + iDCardView.isHidden = true
  123 + //显示textview 添加身份
  124 + contentView.isHidden = false
  125 + textView.text = newValue!.description
  126 + addStandBtn.backgroundColor = HexColor(newValue!.backgroundColor)
  127 + textView.backgroundColor = HexColor(newValue!.backgroundColor, alpha: 0.1)
  128 + }
  129 + }
  130 + }
  131 +
74 func initUI() 132 func initUI()
75 { 133 {
76 -// self.addSubview(self.imageView)  
77 - self.addSubview(self.contentView) 134 + self.addSubview(self.frontContentView)
  135 + self.frontContentView.addSubview(self.contentView)
  136 + self.frontContentView.addSubview(self.iDCardView)
  137 +
  138 + self.makeConstraints()
  139 + }
  140 + func makeConstraints(){
  141 + self.iDCardView.snp.makeConstraints { make in
  142 + make.centerX.equalToSuperview()
  143 + make.top.equalToSuperview().offset(25)
  144 + make.width.equalTo(self.width-40)
  145 + make.height.equalTo((self.width-40) * 0.64)
  146 + }
78 } 147 }
79 148
  149 + // MARK: -按钮点击事件
80 @objc func tapAction(){ 150 @objc func tapAction(){
81 tapTransformAciton!() 151 tapTransformAciton!()
82 } 152 }
  153 + @objc func addStandBtnAction() {
  154 + //跳转到添加身份页面
  155 + currentViewController()?.navigationController?.pushViewController(CNLiveMineInputViewController.init(listModel: _idModel!), animated: true)
  156 + }
83 } 157 }
84 158
85 ///反面View 159 ///反面View
@@ -122,6 +196,8 @@ class CNBackMainView : UIView{ @@ -122,6 +196,8 @@ class CNBackMainView : UIView{
122 bottomBackBtn.addTarget(self, action: #selector(tapAction), for: .touchUpInside) 196 bottomBackBtn.addTarget(self, action: #selector(tapAction), for: .touchUpInside)
123 return bottomBackBtn 197 return bottomBackBtn
124 }() 198 }()
  199 +
  200 +
125 //MARK: - 初始化 201 //MARK: - 初始化
126 override init(frame: CGRect) { 202 override init(frame: CGRect) {
127 super.init(frame: frame) 203 super.init(frame: frame)
@@ -160,6 +236,19 @@ class CNMainView : UIView{ @@ -160,6 +236,19 @@ class CNMainView : UIView{
160 fatalError("init(coder:) has not been implemented") 236 fatalError("init(coder:) has not been implemented")
161 } 237 }
162 238
  239 + //IDmodel
  240 + var _idModel : StandListModel?
  241 + var idModel : StandListModel? {
  242 + get{
  243 + _idModel
  244 + }
  245 + set{
  246 + self.frontView.idModel = newValue!
  247 + _idModel = newValue
  248 + }
  249 +
  250 + }
  251 +
163 ///正面View 252 ///正面View
164 lazy var frontView:CNFrontMainView = { 253 lazy var frontView:CNFrontMainView = {
165 254
@@ -180,13 +269,11 @@ class CNMainView : UIView{ @@ -180,13 +269,11 @@ class CNMainView : UIView{
180 }() 269 }()
181 270
182 271
183 -  
184 -  
185 func initUI() 272 func initUI()
186 { 273 {
187 self.addSubview(self.frontView) 274 self.addSubview(self.frontView)
188 self.addSubview(self.backView) 275 self.addSubview(self.backView)
189 - 276 +
190 277
191 self.backView.isHidden = true; 278 self.backView.isHidden = true;
192 279
@@ -198,7 +285,13 @@ class CNMainView : UIView{ @@ -198,7 +285,13 @@ class CNMainView : UIView{
198 285
199 } 286 }
200 287
  288 + // MARK: - <##><##>设置前置视图容器
  289 + func isHiddenMainFrontContentView(isHidden:Bool){
  290 + self.frontView.contentView.isHidden = isHidden
  291 + }
  292 +
201 // MARK: - 事件 293 // MARK: - 事件
  294 +
202 ///旋转到反面 295 ///旋转到反面
203 func transformToBacnkView() 296 func transformToBacnkView()
204 { 297 {
@@ -251,7 +344,7 @@ class CNMainView : UIView{ @@ -251,7 +344,7 @@ class CNMainView : UIView{
251 ///缩放 344 ///缩放
252 open func scaledView(scale:CGFloat) 345 open func scaledView(scale:CGFloat)
253 { 346 {
254 - self.frontView.imageView.transform = CGAffineTransformMakeScale(scale, scale); 347 +// self.frontView.imageView.transform = CGAffineTransformMakeScale(scale, scale);
255 } 348 }
256 } 349 }
257 350
metaCode/Classes/Main/HomePage/View/CNUpSlideView.swift
@@ -10,6 +10,29 @@ import WebKit @@ -10,6 +10,29 @@ import WebKit
10 10
11 ///上滑显示的VIew 11 ///上滑显示的VIew
12 class CNUpSlideView:UIView{ 12 class CNUpSlideView:UIView{
  13 +
  14 + lazy var webView: WKWebView = {
  15 + let webView = WKWebView.init(frame: CGRectMake(10, 20, self.width - 20, self.height - 20))
  16 + webView.scrollView.showsVerticalScrollIndicator = false
  17 + webView.scrollView.showsHorizontalScrollIndicator = false
  18 + webView.backgroundColor = .clear
  19 + return webView
  20 + }()
  21 +
  22 + var _url:String?
  23 + var url:String? {
  24 + get{
  25 + return _url
  26 + }
  27 + set{
  28 + _url = newValue!
  29 + if (_url != ""){
  30 + let webUrl: URL! = URL.init(string: _url!)
  31 + webView.load(URLRequest.init(url:webUrl))
  32 + }
  33 + }
  34 + }
  35 +
13 override init(frame: CGRect) { 36 override init(frame: CGRect) {
14 super.init(frame: frame) 37 super.init(frame: frame)
15 self.initUI() 38 self.initUI()
@@ -25,14 +48,7 @@ class CNUpSlideView:UIView{ @@ -25,14 +48,7 @@ class CNUpSlideView:UIView{
25 self.backgroundColor = UIColor.white; 48 self.backgroundColor = UIColor.white;
26 self.clipsToBounds = true; 49 self.clipsToBounds = true;
27 self.layer.cornerRadius = 20; 50 self.layer.cornerRadius = 20;
28 -  
29 - let webView:WKWebView = WKWebView.init(frame: CGRectMake(10, 20, self.width - 20, self.height - 20))  
30 - let url: URL! = URL.init(string: "https://www.baidu.com")  
31 - webView.load(URLRequest.init(url:url))  
32 - webView.scrollView.showsVerticalScrollIndicator = false  
33 - webView.scrollView.showsHorizontalScrollIndicator = false  
34 -  
35 - self.addSubview(webView) 51 + self.addSubview(self.webView)
36 52
37 53
38 // let imageview : UIImageView = UIImageView.init(frame: CGRect(x: 20, y: 10, width: self.width - 40, height: self.height - 20)) 54 // let imageview : UIImageView = UIImageView.init(frame: CGRect(x: 20, y: 10, width: self.width - 40, height: self.height - 20))
metaCode/Classes/Main/MinePage/ViewModel/CNLiveMineBaseModel.swift
@@ -136,21 +136,22 @@ class StandListBaseModel: BaseModel { @@ -136,21 +136,22 @@ class StandListBaseModel: BaseModel {
136 136
137 final class StandListModel: BaseModel, TableCodable { 137 final class StandListModel: BaseModel, TableCodable {
138 138
139 - var icon: String?  
140 - var name: String?  
141 - var enable: Bool = false  
142 - var id: Int = 0  
143 - var createTime: Int = 0 139 + var icon: String?//小圆图标
  140 + var name: String?//名称
  141 + var enable: Bool = false//没用
  142 + var id: Int = 0//ID号
  143 + var createTime: Int = 0//注册时间
144 var createTimeString: String = "" 144 var createTimeString: String = ""
145 var timeString: String = "" 145 var timeString: String = ""
146 - var auth: Bool = false  
147 - var backgroundImg: String = ""  
148 - var backgroundColor: String = "" 146 + var auth: Bool = false//身份是否验证
  147 + var backgroundImg: String = ""//首页背景图
  148 + var backgroundColor: String = ""//添加身份按钮背景色
149 var backgroundColour: String = "" 149 var backgroundColour: String = ""
150 - var description: String = ""  
151 - var cardImg: String = ""  
152 - var downPath: String = ""  
153 - 150 + var description: String = ""//首页身份说明描述
  151 + var cardImg: String = ""//卡片背景图
  152 + var downPath: String = ""//下滑h5
  153 + var upPath: String = ""//上滑h5
  154 +
154 override func mapping(mapper: HelpingMapper) { 155 override func mapping(mapper: HelpingMapper) {
155 mapper <<< 156 mapper <<<
156 self.createTime <-- TransformOf(fromJSON: { [weak self] (raw) -> Int in 157 self.createTime <-- TransformOf(fromJSON: { [weak self] (raw) -> Int in
@@ -210,14 +211,17 @@ class MineStandInfoBaseModel: BaseModel { @@ -210,14 +211,17 @@ class MineStandInfoBaseModel: BaseModel {
210 211
211 class MineStandInfoModel: BaseModel { 212 class MineStandInfoModel: BaseModel {
212 var authInfoId: Int = 0 213 var authInfoId: Int = 0
213 - var name: String?  
214 - var inputType: Int = 0//1文本输入 2数字输入 3下拉选择 4后台生成时间 5后台生成编码 6头像类型  
215 var sort: Int = 0 214 var sort: Int = 0
  215 + var name: String?//卡片标签
  216 + var inputType: Int = 0//1文本输入 2数字输入 3下拉选择 4后台生成时间 5后台生成编码 6头像类型
216 var nonEmpty: Bool = false 217 var nonEmpty: Bool = false
  218 + var length: Int = 10
  219 + var children = [MineStandInfoModel]()
  220 + var userInfo: String? = ""//卡片标签的对应值
217 var input: Bool = false 221 var input: Bool = false
218 var show: Bool = false 222 var show: Bool = false
219 var value: String? = ""//自己定义的值 223 var value: String? = ""//自己定义的值
220 - var children = [MineStandInfoModel]() 224 +
221 } 225 }
222 226
223 // !!!: api/identityApi/myList 数据返回 227 // !!!: api/identityApi/myList 数据返回
metaCode/Classes/Main/MinePage/ViewModel/CNLiveMineViewModel.swift
@@ -445,9 +445,9 @@ class CNLiveMineViewModel: NSObject { @@ -445,9 +445,9 @@ class CNLiveMineViewModel: NSObject {
445 let newsModel = dictionaryToModel(resp as! [String : Any], MineStandInfoBaseModel.self,"data") as! MineStandInfoBaseModel 445 let newsModel = dictionaryToModel(resp as! [String : Any], MineStandInfoBaseModel.self,"data") as! MineStandInfoBaseModel
446 let tempArray = NSMutableArray() 446 let tempArray = NSMutableArray()
447 for authinfo in newsModel.authInfos { 447 for authinfo in newsModel.authInfos {
448 - if authinfo.input { 448 +// if authinfo.input {
449 tempArray.add(authinfo) 449 tempArray.add(authinfo)
450 - } 450 +// }
451 } 451 }
452 resultBlock(tempArray,.success) 452 resultBlock(tempArray,.success)
453 } else { 453 } else {
metaCode/Supporting Files/Assets.xcassets/Home/homePage_idCardBG.imageset/Contents.json 0 → 100644
  1 +{
  2 + "images" : [
  3 + {
  4 + "idiom" : "universal",
  5 + "scale" : "1x"
  6 + },
  7 + {
  8 + "filename" : "homePage_idCardBG@2x.png",
  9 + "idiom" : "universal",
  10 + "scale" : "2x"
  11 + },
  12 + {
  13 + "filename" : "homePage_idCardBG@3x.png",
  14 + "idiom" : "universal",
  15 + "scale" : "3x"
  16 + }
  17 + ],
  18 + "info" : {
  19 + "author" : "xcode",
  20 + "version" : 1
  21 + }
  22 +}
metaCode/Supporting Files/Assets.xcassets/Home/homePage_idCardBG.imageset/homePage_idCardBG@2x.png 0 → 100644

19.2 KB

metaCode/Supporting Files/Assets.xcassets/Home/homePage_idCardBG.imageset/homePage_idCardBG@3x.png 0 → 100644

36.6 KB