Commit 42b1cd9354036f4538c2e2ea76e2509a29dab7b9

Authored by liushiyu
2 parents 9bf31cd0 b7a716a0
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 + 19123FC12ABC11170075C883 /* CNWebViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19123FC02ABC11170075C883 /* CNWebViewController.swift */; };
11 19F1C2332AB5728B0083D06C /* CNIDCardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19F1C2322AB5728B0083D06C /* CNIDCardView.swift */; }; 12 19F1C2332AB5728B0083D06C /* CNIDCardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19F1C2322AB5728B0083D06C /* CNIDCardView.swift */; };
12 1DD2808DF02C120276F99F4D /* Pods_metaCode.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F1C55A719CFEE073C06D37CE /* Pods_metaCode.framework */; }; 13 1DD2808DF02C120276F99F4D /* Pods_metaCode.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F1C55A719CFEE073C06D37CE /* Pods_metaCode.framework */; };
13 7905BB492AB0588B0089BC50 /* CNLiveMineAuthResultViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7905BB482AB0588B0089BC50 /* CNLiveMineAuthResultViewController.swift */; }; 14 7905BB492AB0588B0089BC50 /* CNLiveMineAuthResultViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7905BB482AB0588B0089BC50 /* CNLiveMineAuthResultViewController.swift */; };
@@ -114,6 +115,7 @@ @@ -114,6 +115,7 @@
114 /* Begin PBXFileReference section */ 115 /* Begin PBXFileReference section */
115 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>"; }; 116 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>"; };
116 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>"; }; 117 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>"; };
  118 + 19123FC02ABC11170075C883 /* CNWebViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNWebViewController.swift; sourceTree = "<group>"; };
117 19F1C2322AB5728B0083D06C /* CNIDCardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNIDCardView.swift; sourceTree = "<group>"; }; 119 19F1C2322AB5728B0083D06C /* CNIDCardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNIDCardView.swift; sourceTree = "<group>"; };
118 54E09C540E13D78166D71395 /* Pods_metaCodeTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_metaCodeTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 120 54E09C540E13D78166D71395 /* Pods_metaCodeTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_metaCodeTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
119 63D879B49B1E42F1584DD75E /* Pods_metaCode_metaCodeUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_metaCode_metaCodeUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 121 63D879B49B1E42F1584DD75E /* Pods_metaCode_metaCodeUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_metaCode_metaCodeUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -561,6 +563,7 @@ @@ -561,6 +563,7 @@
561 isa = PBXGroup; 563 isa = PBXGroup;
562 children = ( 564 children = (
563 7CD6754E2A2840B9008354C1 /* CNMetaCodeHomePageController.swift */, 565 7CD6754E2A2840B9008354C1 /* CNMetaCodeHomePageController.swift */,
  566 + 19123FC02ABC11170075C883 /* CNWebViewController.swift */,
564 ); 567 );
565 name = Controller; 568 name = Controller;
566 path = HomePage/Controller; 569 path = HomePage/Controller;
@@ -891,6 +894,7 @@ @@ -891,6 +894,7 @@
891 790B1FB62A41938F0074CF00 /* UIImage+CNLiveExtensions.swift in Sources */, 894 790B1FB62A41938F0074CF00 /* UIImage+CNLiveExtensions.swift in Sources */,
892 790D019D2A2DCBD000C5978D /* UIView+CNLiveExtensions.swift in Sources */, 895 790D019D2A2DCBD000C5978D /* UIView+CNLiveExtensions.swift in Sources */,
893 790B1FB62A41938F0074CF00 /* UIImage+CNLiveExtensions.swift in Sources */, 896 790B1FB62A41938F0074CF00 /* UIImage+CNLiveExtensions.swift in Sources */,
  897 + 19123FC12ABC11170075C883 /* CNWebViewController.swift in Sources */,
894 790D019D2A2DCBD000C5978D /* UIView+CNLiveExtensions.swift in Sources */, 898 790D019D2A2DCBD000C5978D /* UIView+CNLiveExtensions.swift in Sources */,
895 7C7C62F62A4D72E9007A912E /* CNLiveIdentityDB.swift in Sources */, 899 7C7C62F62A4D72E9007A912E /* CNLiveIdentityDB.swift in Sources */,
896 790B1FB62A41938F0074CF00 /* UIImage+CNLiveExtensions.swift in Sources */, 900 790B1FB62A41938F0074CF00 /* UIImage+CNLiveExtensions.swift in Sources */,
metaCode/Classes/Main/HomePage/Controller/CNMetaCodeHomePageController.swift
@@ -36,7 +36,17 @@ enum NetAPIStatus { @@ -36,7 +36,17 @@ enum NetAPIStatus {
36 case notNetwork 36 case notNetwork
37 } 37 }
38 38
39 -class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDelegate, NewPagedFlowViewDataSource, CNCustomIndexViewDelegate,UIGestureRecognizerDelegate{ 39 +///垂直方向页面
  40 +enum VNumPage {
  41 + ///下滑页 第一页
  42 + case VNumPageDown
  43 + ///主要页面 第二页
  44 + case VNumPageMain
  45 + ///上滑页 第三页
  46 + case VNumPageUp
  47 +}
  48 +
  49 +class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDelegate, NewPagedFlowViewDataSource, CNCustomIndexViewDelegate,UIGestureRecognizerDelegate,WKNavigationDelegate{
40 50
41 51
42 ///NewPagedFlowView 开始滑动时的偏移量 52 ///NewPagedFlowView 开始滑动时的偏移量
@@ -48,6 +58,9 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel @@ -48,6 +58,9 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel
48 // private var identityStatus: UserIdentityStatus = .notCertified 58 // private var identityStatus: UserIdentityStatus = .notCertified
49 ///接口状态 59 ///接口状态
50 private var NetApiStatus: NetAPIStatus = .apiError 60 private var NetApiStatus: NetAPIStatus = .apiError
  61 + ///接口状态
  62 + public var vNumPage: VNumPage = .VNumPageMain
  63 +
51 64
52 // MARK: - 懒加载 65 // MARK: - 懒加载
53 ///数据源 66 ///数据源
@@ -201,6 +214,15 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel @@ -201,6 +214,15 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel
201 } 214 }
202 override func viewWillAppear(_ animated: Bool) { 215 override func viewWillAppear(_ animated: Bool) {
203 super.viewWillAppear(animated) 216 super.viewWillAppear(animated)
  217 + switch vNumPage {
  218 + case .VNumPageMain://中间主页
  219 + self.tabBarController?.tabBar.isHidden = false
  220 + case .VNumPageUp://上滑页
  221 + self.tabBarController?.tabBar.isHidden = true
  222 + case .VNumPageDown://下滑页
  223 + self.tabBarController?.tabBar.isHidden = true
  224 + }
  225 +
204 226
205 print("uid = ",UserInfoManager.shared.userInfo.uid) 227 print("uid = ",UserInfoManager.shared.userInfo.uid)
206 228
@@ -354,6 +376,8 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel @@ -354,6 +376,8 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel
354 bannerView?.superScrollView = flowView.scrollView 376 bannerView?.superScrollView = flowView.scrollView
355 bannerView?.associatedVCView = self.view 377 bannerView?.associatedVCView = self.view
356 bannerView?.delegate = self 378 bannerView?.delegate = self
  379 + bannerView?.upSlideView.webView.navigationDelegate = self
  380 + bannerView?.downSlideView.webView.navigationDelegate = self
357 let identityModel = dataArray[index] as! StandListModel 381 let identityModel = dataArray[index] as! StandListModel
358 bannerView?.idModel = identityModel 382 bannerView?.idModel = identityModel
359 return bannerView 383 return bannerView
@@ -423,7 +447,7 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel @@ -423,7 +447,7 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel
423 } 447 }
424 448
425 449
426 - //MARK: - CNCustomIndexView 代理方法 450 + //MARK: - CNCustomIndexView 代理方法 垂直方向滑动
427 451
428 func customIndexViewWillBeiginScroll(scrollView: UIScrollView) { 452 func customIndexViewWillBeiginScroll(scrollView: UIScrollView) {
429 self.view.height = KSreenHeight 453 self.view.height = KSreenHeight
@@ -458,6 +482,17 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel @@ -458,6 +482,17 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel
458 482
459 483
460 func customIndexViewDidEndScroll(scrollView: UIScrollView) { 484 func customIndexViewDidEndScroll(scrollView: UIScrollView) {
  485 + if scrollView.contentOffset.y == 0{//下滑页
  486 + self.tabBarController?.tabBar.isHidden = true
  487 + vNumPage = .VNumPageDown
  488 + }else if scrollView.contentOffset.y == KSreenHeight{//默认主页
  489 + self.tabBarController?.tabBar.isHidden = false
  490 + vNumPage = .VNumPageMain
  491 + }else if scrollView.contentOffset.y == KSreenHeight*2{//上滑页
  492 + self.tabBarController?.tabBar.isHidden = true
  493 + vNumPage = .VNumPageUp
  494 + }
  495 +
461 if scrollView.contentOffset.y == KSreenHeight { 496 if scrollView.contentOffset.y == KSreenHeight {
462 self.view.height = self.tabBarY 497 self.view.height = self.tabBarY
463 498
@@ -473,6 +508,63 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel @@ -473,6 +508,63 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel
473 } 508 }
474 } 509 }
475 } 510 }
  511 +
  512 + // MARK: - WKWebViewDelegate
  513 + // 页面开始加载时调用
  514 + func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) {
  515 + print("didStartProvisionalNavigation")
  516 + }
  517 + // 当内容开始返回时调用
  518 + func webView(_ webView: WKWebView, didCommit navigation: WKNavigation!) {
  519 + print("didCommit")
  520 + }
  521 + // 页面加载完成之后调用
  522 + func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
  523 + print("didFinish")
  524 + }
  525 + // 页面加载失败时调用
  526 + func webView(_ webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: Error) {
  527 + print("didFailProvisionalNavigation")
  528 + }
  529 + // 接收到服务器跳转请求之后调用
  530 + func webView(_ webView: WKWebView, didReceiveServerRedirectForProvisionalNavigation navigation: WKNavigation!) {
  531 + print("didReceiveServerRedirectForProvisionalNavigation")
  532 + }
  533 + // 在收到响应后,决定是否跳转 -> 默认允许
  534 + func webView(_ webView: WKWebView, decidePolicyFor navigationResponse: WKNavigationResponse, decisionHandler: @escaping (WKNavigationResponsePolicy) -> Void) {
  535 + print("decidePolicyFor")
  536 + //允许跳转
  537 + decisionHandler(.allow)
  538 + //不允许跳转
  539 +// decisionHandler(.cancel)
  540 + }
  541 + // 在发送请求之前,决定是否跳转 -> 默认允许
  542 + @available(iOS 13.0, *)
  543 + func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, preferences: WKWebpagePreferences, decisionHandler: @escaping (WKNavigationActionPolicy, WKWebpagePreferences) -> Void) {
  544 + print("decidePolicyFor")
  545 + let url:String = navigationAction.request.url!.absoluteString
  546 + print("navigationAction:\(navigationAction.navigationType.rawValue)")
  547 + print(url)
  548 + if(navigationAction.navigationType == .linkActivated){
  549 + let webVC = CNWebViewController()
  550 + webVC.url = url
  551 + currentViewController()?.navigationController?.pushViewController(webVC, animated: true)
  552 + decisionHandler(.cancel, preferences)
  553 + return
  554 + }else if(navigationAction.navigationType == .other){
  555 + if(url.contains("wjjh5.cnlive.com")){
  556 +
  557 + decisionHandler(.allow, preferences)
  558 + return
  559 + }else
  560 + {
  561 + decisionHandler(.cancel, preferences)
  562 + return
  563 + }
  564 + }
  565 + decisionHandler(.allow, preferences)
  566 + }
  567 +
476 //MARK: - 网络请求获取身份列表 568 //MARK: - 网络请求获取身份列表
477 func getUserIdentityApi() 569 func getUserIdentityApi()
478 { 570 {
metaCode/Classes/Main/HomePage/Controller/CNWebViewController.swift 0 → 100644
  1 +//
  2 +// CNWebViewController.swift
  3 +// metaCode
  4 +//
  5 +// Created by zx on 2023/9/21.
  6 +//
  7 +
  8 +import Foundation
  9 +import WebKit
  10 +
  11 +class CNWebViewController:CNLiveBaseViewController ,WKNavigationDelegate{
  12 +
  13 + lazy var webView: WKWebView = {
  14 + let webView = WKWebView.init(frame: CGRectMake(0, 0, Width, Height))
  15 + webView.scrollView.showsVerticalScrollIndicator = false
  16 + webView.scrollView.showsHorizontalScrollIndicator = false
  17 + webView.navigationDelegate = self
  18 + return webView
  19 + }()
  20 +
  21 + var _url:String?
  22 + var url:String? {
  23 + get{
  24 + return _url
  25 + }
  26 + set{
  27 + _url = newValue!
  28 + if (_url != ""){
  29 + let webUrl: URL! = URL.init(string: _url!)
  30 + webView.load(URLRequest.init(url:webUrl))
  31 + }
  32 + }
  33 + }
  34 +
  35 + override func viewDidLoad() {
  36 + super.viewDidLoad()
  37 + navigationBarHidden = false
  38 + self.view.addSubview(self.webView)
  39 + webView.snp.makeConstraints { make in
  40 + make.top.equalTo(get_system_nav_height())
  41 + make.left.right.bottom.equalToSuperview()
  42 + }
  43 +
  44 + }
  45 +
  46 + // MARK: - WKWebViewDelegate
  47 + // 页面开始加载时调用
  48 + func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) {
  49 + print("didStartProvisionalNavigation")
  50 + }
  51 + // 当内容开始返回时调用
  52 + func webView(_ webView: WKWebView, didCommit navigation: WKNavigation!) {
  53 + print("didCommit")
  54 + }
  55 + // 页面加载完成之后调用
  56 + func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
  57 + print("didFinish")
  58 + titleName = webView.title!
  59 + }
  60 + // 页面加载失败时调用
  61 + func webView(_ webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: Error) {
  62 + print("didFailProvisionalNavigation")
  63 + }
  64 + // 接收到服务器跳转请求之后调用
  65 + func webView(_ webView: WKWebView, didReceiveServerRedirectForProvisionalNavigation navigation: WKNavigation!) {
  66 + print("didReceiveServerRedirectForProvisionalNavigation")
  67 + }
  68 + // 在收到响应后,决定是否跳转 -> 默认允许
  69 + func webView(_ webView: WKWebView, decidePolicyFor navigationResponse: WKNavigationResponse, decisionHandler: @escaping (WKNavigationResponsePolicy) -> Void) {
  70 + print("decidePolicyFor")
  71 + //允许跳转
  72 + decisionHandler(.allow)
  73 + //不允许跳转
  74 + // decisionHandler(.cancel)
  75 + }
  76 + // 在发送请求之前,决定是否跳转 -> 默认允许
  77 + @available(iOS 13.0, *)
  78 + func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, preferences: WKWebpagePreferences, decisionHandler: @escaping (WKNavigationActionPolicy, WKWebpagePreferences) -> Void) {
  79 +
  80 + decisionHandler(.allow, preferences)
  81 + }
  82 +}
metaCode/Classes/Main/HomePage/View/CNCustomIndexView.swift
@@ -20,13 +20,15 @@ class CNCustomIndexTopView : UIView{ @@ -20,13 +20,15 @@ class CNCustomIndexTopView : UIView{
20 let titleLabel = UILabel.init(frame: CGRectMake(10, 0, 75, 35)) 20 let titleLabel = UILabel.init(frame: CGRectMake(10, 0, 75, 35))
21 titleLabel.bottom = self.bottom - 5 21 titleLabel.bottom = self.bottom - 5
22 titleLabel.textColor = .white 22 titleLabel.textColor = .white
  23 + titleLabel.textAlignment = .left
23 titleLabel.font = UIFont.systemFont(ofSize: 24, weight: .semibold) 24 titleLabel.font = UIFont.systemFont(ofSize: 24, weight: .semibold)
  25 + titleLabel.adjustsFontSizeToFitWidth=true
24 return titleLabel 26 return titleLabel
25 }() 27 }()
26 ///关闭按钮 28 ///关闭按钮
27 lazy var closeBtn: UIButton = { 29 lazy var closeBtn: UIButton = {
28 let closeBtn = UIButton(type: .custom) 30 let closeBtn = UIButton(type: .custom)
29 - closeBtn.frame = CGRect(x: self.width - 30, y: 0, width: 30, height: 30) 31 + closeBtn.frame = CGRect(x: self.width - 50, y: 0, width: 50, height: 50)
30 closeBtn.centerY = self.titleLabel.centerY 32 closeBtn.centerY = self.titleLabel.centerY
31 closeBtn.setImage(UIImage(named: "homePage_close_icon"), for: .normal) 33 closeBtn.setImage(UIImage(named: "homePage_close_icon"), for: .normal)
32 closeBtn.addTarget(self, action: #selector(closeBtnAction), for: .touchUpInside) 34 closeBtn.addTarget(self, action: #selector(closeBtnAction), for: .touchUpInside)
@@ -45,6 +47,16 @@ class CNCustomIndexTopView : UIView{ @@ -45,6 +47,16 @@ class CNCustomIndexTopView : UIView{
45 func initUI(){ 47 func initUI(){
46 self.addSubview(self.titleLabel) 48 self.addSubview(self.titleLabel)
47 self.addSubview(self.closeBtn) 49 self.addSubview(self.closeBtn)
  50 + self.titleLabel.snp.makeConstraints { make in
  51 + make.centerY.equalToSuperview()
  52 + make.left.equalToSuperview()
  53 + make.right.equalTo(closeBtn.snp.left)
  54 + }
  55 + self.closeBtn.snp.makeConstraints { make in
  56 + make.centerY.equalToSuperview()
  57 + make.right.equalToSuperview()
  58 + make.width.equalTo(50)
  59 + }
48 } 60 }
49 61
50 //MARK: - 公开方法 62 //MARK: - 公开方法
@@ -108,6 +120,7 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange @@ -108,6 +120,7 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange
108 _idModel = newValue 120 _idModel = newValue
109 self.upSlideView.url = _idModel?.upPath 121 self.upSlideView.url = _idModel?.upPath
110 self.downSlideView.url = _idModel?.downPath 122 self.downSlideView.url = _idModel?.downPath
  123 + self.topNavView.setTitleString(title:(_idModel?.name)!)
111 } 124 }
112 125
113 } 126 }
@@ -171,6 +184,7 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange @@ -171,6 +184,7 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange
171 collectionView.backgroundColor = .clear 184 collectionView.backgroundColor = .clear
172 collectionView.backAction = {[weak self] in 185 collectionView.backAction = {[weak self] in
173 self?.baseScrollView.setContentOffset(CGPoint(x: 0, y: (self!.baseScrollView.height)), animated: true) 186 self?.baseScrollView.setContentOffset(CGPoint(x: 0, y: (self!.baseScrollView.height)), animated: true)
  187 + currentViewController()?.tabBarController?.tabBar.isHidden = false
174 self?.superScrollView?.isScrollEnabled = true 188 self?.superScrollView?.isScrollEnabled = true
175 189
176 let time = DispatchTime.now() + 0.5 190 let time = DispatchTime.now() + 0.5
@@ -210,11 +224,12 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange @@ -210,11 +224,12 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange
210 224
211 /// 顶部自定义导航 225 /// 顶部自定义导航
212 lazy var topNavView: CNCustomIndexTopView = { 226 lazy var topNavView: CNCustomIndexTopView = {
213 - let topNavView = CNCustomIndexTopView.init(frame: CGRect(x: 0, y: 0, width: self.width, height: KNavigationHeight)) 227 + let topNavView = CNCustomIndexTopView.init(frame: CGRect(x: 0, y: 30, width: self.width, height: KNavigationHeight))
214 topNavView.alpha = 0 228 topNavView.alpha = 0
215 topNavView.closeAction = { [weak self ] in 229 topNavView.closeAction = { [weak self ] in
216 self!.baseScrollView.setContentOffset(CGPoint(x: 0, y: self!.baseScrollView.height), animated: true) 230 self!.baseScrollView.setContentOffset(CGPoint(x: 0, y: self!.baseScrollView.height), animated: true)
217 self?.superScrollView?.isScrollEnabled = true 231 self?.superScrollView?.isScrollEnabled = true
  232 + currentViewController()?.tabBarController?.tabBar.isHidden = false
218 } 233 }
219 return topNavView 234 return topNavView
220 }() 235 }()
@@ -236,7 +251,7 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange @@ -236,7 +251,7 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange
236 251
237 self.addSubview(self.baseScrollView) 252 self.addSubview(self.baseScrollView)
238 self.addSubview(self.topNavView) 253 self.addSubview(self.topNavView)
239 - self.topNavView.setTitleString(title: "志愿者") 254 +// self.topNavView.setTitleString(title: "志愿者")
240 255
241 self.baseScrollView.addSubview(self.downSlideView) 256 self.baseScrollView.addSubview(self.downSlideView)
242 self.baseScrollView.addSubview(self.mainView) 257 self.baseScrollView.addSubview(self.mainView)
metaCode/Classes/Main/HomePage/View/CNDownSlideView.swift
@@ -54,7 +54,6 @@ class CNDownSlideView:UIView{ @@ -54,7 +54,6 @@ class CNDownSlideView:UIView{
54 } 54 }
55 set{ 55 set{
56 _url = newValue! 56 _url = newValue!
57 -// _url = "https://www.baidu.com"  
58 if (_url != ""){ 57 if (_url != ""){
59 let webUrl: URL! = URL.init(string: _url!) 58 let webUrl: URL! = URL.init(string: _url!)
60 webView.load(URLRequest.init(url:webUrl)) 59 webView.load(URLRequest.init(url:webUrl))
metaCode/Classes/Main/HomePage/View/CNHomePageBackgroupView.swift
@@ -28,6 +28,7 @@ class CNHomePageBackgroupSubView : UIView @@ -28,6 +28,7 @@ class CNHomePageBackgroupSubView : UIView
28 let titleLabel = UILabel.init(frame: CGRectMake(25, KNavigationHeight - 20, KSreenWidth - 50, 35)) 28 let titleLabel = UILabel.init(frame: CGRectMake(25, KNavigationHeight - 20, KSreenWidth - 50, 35))
29 titleLabel.textColor = .white 29 titleLabel.textColor = .white
30 titleLabel.font = UIFont.systemFont(ofSize: 20, weight: .semibold) 30 titleLabel.font = UIFont.systemFont(ofSize: 20, weight: .semibold)
  31 + titleLabel.adjustsFontSizeToFitWidth=true
31 return titleLabel 32 return titleLabel
32 }() 33 }()
33 34
metaCode/Classes/Main/HomePage/View/CNMainView.swift
@@ -27,23 +27,49 @@ class CNFrontMainView : UIView{ @@ -27,23 +27,49 @@ class CNFrontMainView : UIView{
27 } 27 }
28 28
29 ///视图总容器 29 ///视图总容器
30 - lazy var frontContentView : UIView = { 30 + lazy var frontTotolContentView : UIView = {
31 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 32 + let frontTotolContentView = UIView.init(frame: CGRect(x: 0, y: 0, width: self.width, height: self.height ))
  33 + frontTotolContentView.backgroundColor = UIColor.white
  34 + frontTotolContentView.clipsToBounds = true
  35 + frontTotolContentView.layer.cornerRadius = 20
  36 + return frontTotolContentView
38 }() 37 }()
39 38
40 - /// 已认证-身份卡片  
41 - lazy var iDCardView:CNIDCardView = { 39 + ///未认证-前置视图身份描述容器
  40 + lazy var frontDescContentView : UIView = {
42 41
43 - let iDCardView:CNIDCardView = CNIDCardView(frame: CGRect(x: 20, y: 25, width: self.width-40, height: (self.width-40) * 0.64))  
44 - return iDCardView 42 + let frontDescContentView = UIView.init(frame: CGRect(x: 0, y: 0, width: self.width, height: self.height ))
  43 + frontDescContentView.backgroundColor = UIColor.white
  44 + frontDescContentView.clipsToBounds = true
  45 + frontDescContentView.layer.cornerRadius = 20
  46 + frontDescContentView.addSubview(self.textViewBgImgView)
  47 + textViewBgImgView.snp.makeConstraints { make in
  48 + make.top.equalToSuperview()
  49 + make.left.equalToSuperview()
  50 + make.right.equalToSuperview()
  51 + make.bottom.equalToSuperview()
  52 + }
  53 +
  54 + frontDescContentView.addSubview(self.addStandBtn)
  55 + addStandBtn.snp.makeConstraints { make in
  56 + make.centerX.equalToSuperview()
  57 + make.bottom.equalToSuperview().offset(-30)
  58 + make.width.equalTo(150)
  59 + make.height.equalTo(39)
  60 + }
  61 +
  62 + frontDescContentView.addSubview(self.textView)
  63 + textView.snp.makeConstraints { make in
  64 + make.top.equalToSuperview().offset(40)
  65 + make.left.equalToSuperview().offset(30)
  66 + make.right.equalToSuperview().offset(-30)
  67 + make.bottom.equalTo(addStandBtn.snp.top).offset(-30)
  68 + }
  69 +
  70 + return frontDescContentView
  71 +
45 }() 72 }()
46 -  
47 //未认证下 textview 73 //未认证下 textview
48 lazy var textView: UITextView = { 74 lazy var textView: UITextView = {
49 let textView = UITextView.init() 75 let textView = UITextView.init()
@@ -57,10 +83,10 @@ class CNFrontMainView : UIView{ @@ -57,10 +83,10 @@ class CNFrontMainView : UIView{
57 textView.clipsToBounds = true 83 textView.clipsToBounds = true
58 textView.layer.cornerRadius = 14 84 textView.layer.cornerRadius = 14
59 textView.isUserInteractionEnabled = false 85 textView.isUserInteractionEnabled = false
  86 + textView.backgroundColor = .clear
60 return textView 87 return textView
61 }() 88 }()
62 -  
63 - ///点击添加身份 按钮 89 + ///未认证-点击添加身份 按钮
64 lazy var addStandBtn: UIButton = { 90 lazy var addStandBtn: UIButton = {
65 let addStandBtn = UIButton(type: .custom) 91 let addStandBtn = UIButton(type: .custom)
66 addStandBtn.clipsToBounds = true 92 addStandBtn.clipsToBounds = true
@@ -73,32 +99,55 @@ class CNFrontMainView : UIView{ @@ -73,32 +99,55 @@ class CNFrontMainView : UIView{
73 return addStandBtn 99 return addStandBtn
74 }() 100 }()
75 101
76 - ///前置视图容器  
77 - lazy var contentView : UIView = { 102 + ///已认证-前置视图卡片容器
  103 + lazy var frontCardContentView : UIView = {
78 104
79 - let contentView = UIView.init(frame: CGRect(x: 0, y: 0, width: self.width, height: self.height ))  
80 - contentView.backgroundColor = UIColor.white  
81 - contentView.clipsToBounds = true  
82 - contentView.layer.cornerRadius = 20  
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) 105 + let frontCardContentView = UIView.init(frame: CGRect(x: 0, y: 0, width: self.width, height: self.height ))
  106 + frontCardContentView.backgroundColor = UIColor.white
  107 + frontCardContentView.clipsToBounds = true
  108 + frontCardContentView.layer.cornerRadius = 20
  109 + frontCardContentView.addSubview(self.cardViewBgImgView)
  110 + cardViewBgImgView.snp.makeConstraints { make in
  111 + make.top.equalToSuperview()
  112 + make.left.equalToSuperview()
  113 + make.right.equalToSuperview()
  114 + make.bottom.equalToSuperview()
97 } 115 }
98 116
99 - return contentView 117 + frontCardContentView.addSubview(self.iDCardView)
  118 + iDCardView.snp.makeConstraints { make in
  119 + make.centerX.equalToSuperview()
  120 + make.top.equalToSuperview().offset(25)
  121 + make.width.equalTo(self.width-40)
  122 + make.height.equalTo((self.width-40) * 0.64)
  123 + }
  124 + return frontCardContentView
100 125
101 }() 126 }()
  127 + /// 已认证-身份卡片
  128 + lazy var iDCardView:CNIDCardView = {
  129 +
  130 + let iDCardView:CNIDCardView = CNIDCardView(frame: CGRect(x: 20, y: 25, width: self.width-40, height: (self.width-40) * 0.64))
  131 + return iDCardView
  132 + }()
  133 +
  134 + /// 已认证-身份卡片
  135 + lazy var textViewBgImgView:UIImageView = {
  136 +
  137 + let textViewBgImgView:UIImageView = UIImageView()
  138 + textViewBgImgView.clipsToBounds = true
  139 + textViewBgImgView.layer.cornerRadius = 20
  140 + return textViewBgImgView
  141 + }()
  142 +
  143 + /// 已认证-卡片后的背景图
  144 + lazy var cardViewBgImgView:UIImageView = {
  145 +
  146 + let cardViewBgImgView:UIImageView = UIImageView()
  147 + cardViewBgImgView.clipsToBounds = true
  148 + cardViewBgImgView.layer.cornerRadius = 20
  149 + return cardViewBgImgView
  150 + }()
102 151
103 //IDmodel 152 //IDmodel
104 var _idModel : StandListModel? 153 var _idModel : StandListModel?
@@ -112,37 +161,33 @@ class CNFrontMainView : UIView{ @@ -112,37 +161,33 @@ class CNFrontMainView : UIView{
112 if(auth == true){ 161 if(auth == true){
113 //已认证身份 162 //已认证身份
114 //显示证件View 163 //显示证件View
115 - iDCardView.isHidden = false 164 + frontCardContentView.isHidden = false
116 iDCardView.idModel = newValue! 165 iDCardView.idModel = newValue!
117 - contentView.isHidden = true  
118 - 166 + frontDescContentView.isHidden = true
  167 + cardViewBgImgView.kf.setImage(with: URL(string: _idModel!.cardBackgroundImg), placeholder: UIImage(named: "homepage_cardBGImg"))
119 }else 168 }else
120 {//未认证身份 169 {//未认证身份
121 - iDCardView.isHidden = true 170 + frontCardContentView.isHidden = true
122 //显示textview 添加身份 171 //显示textview 添加身份
123 - contentView.isHidden = false 172 + frontDescContentView.isHidden = false
124 textView.text = newValue!.description 173 textView.text = newValue!.description
125 addStandBtn.backgroundColor = HexColor(newValue!.backgroundColor) 174 addStandBtn.backgroundColor = HexColor(newValue!.backgroundColor)
126 - textView.backgroundColor = HexColor(newValue!.backgroundColor, alpha: 0.1) 175 + textViewBgImgView.kf.setImage(with: URL(string: _idModel!.descBackgroundImg), placeholder: UIImage(named: "homepage_desc_bgImg"))
127 } 176 }
128 } 177 }
129 } 178 }
130 179
131 func initUI() 180 func initUI()
132 { 181 {
133 - self.addSubview(self.frontContentView)  
134 - self.frontContentView.addSubview(self.contentView)  
135 - self.frontContentView.addSubview(self.iDCardView) 182 + self.addSubview(self.frontTotolContentView)
  183 + self.frontTotolContentView.addSubview(self.frontDescContentView)
  184 + self.frontTotolContentView.addSubview(self.frontCardContentView)
  185 +
136 186
137 self.makeConstraints() 187 self.makeConstraints()
138 } 188 }
139 func makeConstraints(){ 189 func makeConstraints(){
140 - self.iDCardView.snp.makeConstraints { make in  
141 - make.centerX.equalToSuperview()  
142 - make.top.equalToSuperview().offset(25)  
143 - make.width.equalTo(self.width-40)  
144 - make.height.equalTo((self.width-40) * 0.64)  
145 - } 190 +
146 } 191 }
147 192
148 // MARK: -按钮点击事件 193 // MARK: -按钮点击事件
@@ -291,7 +336,7 @@ class CNMainView : UIView{ @@ -291,7 +336,7 @@ class CNMainView : UIView{
291 336
292 // MARK: - <##><##>设置前置视图容器 337 // MARK: - <##><##>设置前置视图容器
293 func isHiddenMainFrontContentView(isHidden:Bool){ 338 func isHiddenMainFrontContentView(isHidden:Bool){
294 - self.frontView.contentView.isHidden = isHidden 339 + self.frontView.frontTotolContentView.isHidden = isHidden
295 } 340 }
296 341
297 // MARK: - 事件 342 // MARK: - 事件
metaCode/Classes/Main/MinePage/ViewModel/CNLiveMineBaseModel.swift
@@ -136,21 +136,24 @@ class StandListBaseModel: BaseModel { @@ -136,21 +136,24 @@ 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//ID号 139 var id: Int = 0//ID号
  140 + var name: String?//名称
  141 + var icon: String?//小圆图标
143 var createTime: Int = 0//注册时间 142 var createTime: Int = 0//注册时间
144 - var createTimeString: String = ""  
145 - var timeString: String = ""  
146 - var auth: Bool = false//身份是否验证 143 + var enable: Bool = false//没用
147 var backgroundImg: String = ""//首页背景图 144 var backgroundImg: String = ""//首页背景图
148 var backgroundColor: String = ""//添加身份按钮背景色 145 var backgroundColor: String = ""//添加身份按钮背景色
149 var backgroundColour: String = "" 146 var backgroundColour: String = ""
150 var description: String = ""//首页身份说明描述 147 var description: String = ""//首页身份说明描述
  148 + var descBackgroundImg: String = ""//首页文字背景图
151 var cardImg: String = ""//卡片背景图 149 var cardImg: String = ""//卡片背景图
152 - var downPath: String = ""//下滑h5 150 + var cardBackgroundImg: String = ""//首页卡片背景图
153 var upPath: String = ""//上滑h5 151 var upPath: String = ""//上滑h5
  152 + var downPath: String = ""//下滑h5
  153 + var auth: Bool = false//身份是否验证
  154 +
  155 + var createTimeString: String = ""
  156 + var timeString: String = ""
154 157
155 override func mapping(mapper: HelpingMapper) { 158 override func mapping(mapper: HelpingMapper) {
156 mapper <<< 159 mapper <<<
metaCode/Supporting Files/Assets.xcassets/Home/homepage_cardBGImg.imageset/Contents.json 0 → 100644
  1 +{
  2 + "images" : [
  3 + {
  4 + "idiom" : "universal",
  5 + "scale" : "1x"
  6 + },
  7 + {
  8 + "filename" : "homepage_cardBGImg@2x.png",
  9 + "idiom" : "universal",
  10 + "scale" : "2x"
  11 + },
  12 + {
  13 + "filename" : "homepage_cardBGImg@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_cardBGImg.imageset/homepage_cardBGImg@2x.png 0 → 100644

24.7 KB

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

48.4 KB

metaCode/Supporting Files/Assets.xcassets/Home/homepage_desc_bgImg.imageset/Contents.json 0 → 100644
  1 +{
  2 + "images" : [
  3 + {
  4 + "idiom" : "universal",
  5 + "scale" : "1x"
  6 + },
  7 + {
  8 + "filename" : "homepage_desc_bgImg@2x.png",
  9 + "idiom" : "universal",
  10 + "scale" : "2x"
  11 + },
  12 + {
  13 + "filename" : "homepage_desc_bgImg@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_desc_bgImg.imageset/homepage_desc_bgImg@2x.png 0 → 100644

95.9 KB

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

311 KB