Commit 432871843985d803586bcd5323d4cafbb643b611

Authored by liushiyu
2 parents 08c5192b 6d88c569
@@ -67,11 +67,28 @@ target 'metaCode' do @@ -67,11 +67,28 @@ target 'metaCode' do
67 # pod 'QMUIKit' 67 # pod 'QMUIKit'
68 pod 'YYWebImage', :git => 'https://gitee.com/mirrors/YYWebImage.git' 68 pod 'YYWebImage', :git => 'https://gitee.com/mirrors/YYWebImage.git'
69 69
  70 + pod 'WebViewJavascriptBridge'
  71 +
70 #依赖三方私有库,如果里面有.a的时候加上这个 72 #依赖三方私有库,如果里面有.a的时候加上这个
71 pre_install do |installer| Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {} 73 pre_install do |installer| Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {}
72 end 74 end
73 75
  76 + #依赖三方私有库,如果里面有.a的时候加上这个
  77 + pre_install do |installer| Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {}
  78 + ############################################ #删除WebViewJavascriptBridge中的WebViewJavascriptBridge.h和WebViewJavascriptBridge.m文件
74 79
  80 + dir_web = File.join(installer.sandbox.pod_dir('WebViewJavascriptBridge'), 'WebViewJavascriptBridge')
  81 + Dir.foreach(dir_web) {|x|
  82 + real_path = File.join(dir_web, x)
  83 + if (!File.directory?(real_path) && File.exists?(real_path))
  84 + if(x == 'WebViewJavascriptBridge.h' || x == 'WebViewJavascriptBridge.m')
  85 + File.delete(real_path)
  86 + end
  87 + end
  88 + }
  89 + #删除WebViewJavascriptBridge中的WebViewJavascriptBridge.h和WebViewJavascriptBridge.m文件
  90 + #################################################
  91 + end
75 92
76 93
77 94
metaCode.xcodeproj/project.pbxproj
@@ -2070,7 +2070,7 @@ @@ -2070,7 +2070,7 @@
2070 CODE_SIGN_ENTITLEMENTS = metaCode/metaCode.entitlements; 2070 CODE_SIGN_ENTITLEMENTS = metaCode/metaCode.entitlements;
2071 CODE_SIGN_IDENTITY = "Apple Development"; 2071 CODE_SIGN_IDENTITY = "Apple Development";
2072 CODE_SIGN_STYLE = Automatic; 2072 CODE_SIGN_STYLE = Automatic;
2073 - CURRENT_PROJECT_VERSION = 1.0.4.24.01.22.17; 2073 + CURRENT_PROJECT_VERSION = 1.0.4.24.01.26.17;
2074 DEVELOPMENT_TEAM = 94X49GG3ZW; 2074 DEVELOPMENT_TEAM = 94X49GG3ZW;
2075 ENABLE_BITCODE = NO; 2075 ENABLE_BITCODE = NO;
2076 ENABLE_MODULE_VERIFIER = NO; 2076 ENABLE_MODULE_VERIFIER = NO;
@@ -2324,7 +2324,7 @@ @@ -2324,7 +2324,7 @@
2324 CODE_SIGN_ENTITLEMENTS = metaCode/metaCode.entitlements; 2324 CODE_SIGN_ENTITLEMENTS = metaCode/metaCode.entitlements;
2325 CODE_SIGN_IDENTITY = "Apple Development"; 2325 CODE_SIGN_IDENTITY = "Apple Development";
2326 CODE_SIGN_STYLE = Automatic; 2326 CODE_SIGN_STYLE = Automatic;
2327 - CURRENT_PROJECT_VERSION = 1.0.4.24.01.22.17; 2327 + CURRENT_PROJECT_VERSION = 1.0.4.24.01.26.17;
2328 DEVELOPMENT_TEAM = 94X49GG3ZW; 2328 DEVELOPMENT_TEAM = 94X49GG3ZW;
2329 ENABLE_BITCODE = NO; 2329 ENABLE_BITCODE = NO;
2330 ENABLE_MODULE_VERIFIER = NO; 2330 ENABLE_MODULE_VERIFIER = NO;
metaCode/Classes/Main/HomePage/Controller/AuthMainController/CNMetaCodeHomePageController.swift
@@ -56,6 +56,9 @@ enum VNumPage { @@ -56,6 +56,9 @@ enum VNumPage {
56 56
57 class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDelegate, NewPagedFlowViewDataSource, CNCustomIndexViewDelegate,UIGestureRecognizerDelegate,WKNavigationDelegate{ 57 class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDelegate, NewPagedFlowViewDataSource, CNCustomIndexViewDelegate,UIGestureRecognizerDelegate,WKNavigationDelegate{
58 58
  59 + //获取身份信息接口总次数,为0时刷新左右轮播
  60 + var reloadNum:Int = 0
  61 + var reloadShopNum:Int = 1
59 62
60 ///NewPagedFlowView 开始滑动时的偏移量 63 ///NewPagedFlowView 开始滑动时的偏移量
61 private var beginOffset = 0.0 64 private var beginOffset = 0.0
@@ -396,9 +399,6 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel @@ -396,9 +399,6 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel
396 bannerView?.idModel = identityModel 399 bannerView?.idModel = identityModel
397 if (identityModel.auth == true){ 400 if (identityModel.auth == true){
398 bannerView?.baseScrollView.isScrollEnabled = true 401 bannerView?.baseScrollView.isScrollEnabled = true
399 - if identityModel.id == 9{  
400 - self.getApplyShopInfo()  
401 - }  
402 }else{ 402 }else{
403 //未认证 403 //未认证
404 if (identityModel.downType == 3 || identityModel.downType == 4 || identityModel.upType == 3 || identityModel.upType == 4) 404 if (identityModel.downType == 3 || identityModel.downType == 4 || identityModel.upType == 3 || identityModel.upType == 4)
@@ -409,7 +409,8 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel @@ -409,7 +409,8 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel
409 } 409 }
410 410
411 //未认证&要显示的是电商 411 //未认证&要显示的是电商
412 - if identityModel.id == 9{ 412 + if identityModel.id == 9 && reloadShopNum == 1{
  413 + reloadShopNum = reloadShopNum - 1
413 self.getApplyShopInfo() 414 self.getApplyShopInfo()
414 } 415 }
415 } 416 }
@@ -626,7 +627,7 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel @@ -626,7 +627,7 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel
626 { 627 {
627 // showLoading(message: "") 628 // showLoading(message: "")
628 CNLiveMineViewModel.requestAuthStandList(page: 1) 629 CNLiveMineViewModel.requestAuthStandList(page: 1)
629 - { result, respStatue in 630 + { [self] result, respStatue in
630 631
631 hiddenLoading() 632 hiddenLoading()
632 if respStatue == .success{ 633 if respStatue == .success{
@@ -636,10 +637,9 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel @@ -636,10 +637,9 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel
636 637
637 self.dataArray = NSMutableArray.init() 638 self.dataArray = NSMutableArray.init()
638 self.dataArray.addObjects(from: listArray as! [Any]) 639 self.dataArray.addObjects(from: listArray as! [Any])
639 - self.addPageView()  
640 -  
641 - self.backgroupView.updateData(idArray: listArray as! Array<StandListModel>)  
642 640
  641 + //全部已认证
  642 + var isAllAuthed = true
643 //请求身份详情,判断是企业认证还是个人认证 643 //请求身份详情,判断是企业认证还是个人认证
644 listArray.forEach { standListModel in 644 listArray.forEach { standListModel in
645 let listModel = standListModel as! StandListModel 645 let listModel = standListModel as! StandListModel
@@ -648,9 +648,16 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel @@ -648,9 +648,16 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel
648 listModel.isPersonOrEnterprise = 3 648 listModel.isPersonOrEnterprise = 3
649 }else{ 649 }else{
650 //未认证 650 //未认证
  651 + isAllAuthed = false
651 self.getStandInfo(identityId: "\(listModel.id)") 652 self.getStandInfo(identityId: "\(listModel.id)")
  653 + reloadNum = reloadNum + 1
652 } 654 }
653 } 655 }
  656 + if isAllAuthed{
  657 + self.addPageView()
  658 +
  659 + self.backgroupView.updateData(idArray: listArray as! Array<StandListModel>)
  660 + }
654 661
655 }else{ 662 }else{
656 self.NetApiStatus = .apiError 663 self.NetApiStatus = .apiError
@@ -665,58 +672,69 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel @@ -665,58 +672,69 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel
665 } 672 }
666 } 673 }
667 674
668 - // MARK: - 获取身份信息是个人认证还是企业认证 675 + // MARK: - 获取身份信息是个人认证还是企业认证,机构认证
669 func getStandInfo(identityId:String){ 676 func getStandInfo(identityId:String){
670 - CNLiveMineViewModel.requestsStandInfo(identityId: identityId, type: .effect, authType: .person) { result, respStatue in 677 + CNLiveMineViewModel.requestsStandInfo(identityId: identityId, type: .effect, authType: .person) { [self] result, respStatue in
671 hiddenLoading() 678 hiddenLoading()
672 if respStatue == .success{ 679 if respStatue == .success{
673 let standInfoBaseModel = result as! MineStandInfoBaseModel 680 let standInfoBaseModel = result as! MineStandInfoBaseModel
674 - if standInfoBaseModel.authInfos.count > 0{  
675 - //个人认证有值  
676 - if standInfoBaseModel.enterpriseAuthInfos.count > 0{  
677 - //企业认证有值  
678 - self.dataArray.forEach { standListModel in  
679 - let listModel = standListModel as! StandListModel  
680 - if listModel.id == standInfoBaseModel.identityId{  
681 - //目标model,企业+个人 681 + self.dataArray.forEach { standListModel in
  682 + let listModel = standListModel as! StandListModel
  683 + if listModel.id == standInfoBaseModel.identityId{
  684 + listModel.standInfoBaseModel = standInfoBaseModel
  685 + if standInfoBaseModel.authInfos.count > 0{
  686 + //个人认证有值
  687 + if standInfoBaseModel.enterpriseAuthInfos.count > 0{
  688 + //个人有值,企业认证有值
  689 + if standInfoBaseModel.agencyAuthInfos.count > 0{
  690 + //个人有值,企业有值,机构认证有值
  691 + listModel.isPersonOrEnterprise = 4
  692 + }else{
  693 + //个人有值,企业有值,机构认证没值
  694 + listModel.isPersonOrEnterprise = 0
  695 + }
  696 +
  697 + }else{
  698 + //个人有值,企业认证没值
  699 + if standInfoBaseModel.agencyAuthInfos.count > 0{
  700 + //个人有值,企业没值,机构有值
  701 + listModel.isPersonOrEnterprise = 0
  702 + }else{
  703 + //个人有值,企业没值,机构没值
  704 + listModel.isPersonOrEnterprise = 1
  705 + }
  706 + }
  707 +
  708 + }else if standInfoBaseModel.enterpriseAuthInfos.count > 0{
  709 + //企业认证有值,个人没值
  710 + if standInfoBaseModel.agencyAuthInfos.count > 0{
  711 + ///企业有值,个人没值,机构有值
682 listModel.isPersonOrEnterprise = 0 712 listModel.isPersonOrEnterprise = 0
  713 + }else{
  714 + ///企业有值,个人没值,机构没值
  715 + listModel.isPersonOrEnterprise = 2
683 } 716 }
684 - }  
685 -  
686 - }else{  
687 - //企业认证没值  
688 - //只显示个人  
689 - self.dataArray.forEach { standListModel in  
690 - let listModel = standListModel as! StandListModel  
691 - if listModel.id == standInfoBaseModel.identityId{  
692 - //目标model ,个人  
693 - listModel.isPersonOrEnterprise = 1 717 +
  718 +
  719 + }else{
  720 + //企业个人都没值
  721 + if standInfoBaseModel.agencyAuthInfos.count > 0{
  722 + //企业没值,个人没值,机构有值
  723 + listModel.isPersonOrEnterprise = 5
  724 + }else{
  725 + //企业没值,个人没值,机构没值
  726 + listModel.isPersonOrEnterprise = 3
694 } 727 }
695 } 728 }
696 } 729 }
697 -  
698 - }else if standInfoBaseModel.enterpriseAuthInfos.count > 0{  
699 - //企业认证有值,个人没值  
700 - //只显示企业  
701 - self.dataArray.forEach { standListModel in  
702 - let listModel = standListModel as! StandListModel  
703 - if listModel.id == standInfoBaseModel.identityId{  
704 - //目标model ,企业  
705 - listModel.isPersonOrEnterprise = 2  
706 - }  
707 - }  
708 -  
709 - }else{  
710 - //企业个人都没值  
711 - self.dataArray.forEach { standListModel in  
712 - let listModel = standListModel as! StandListModel  
713 - if listModel.id == standInfoBaseModel.identityId{  
714 - //目标model ,已认证/无企业和个人  
715 - listModel.isPersonOrEnterprise = 3  
716 - }  
717 - }  
718 } 730 }
719 - self.pageFlowView.reloadData() 731 + //已请求全部身份详情,开始刷新
  732 + reloadNum = reloadNum - 1
  733 + if reloadNum == 0{
  734 + self.addPageView()
  735 + let arr = Array(self.dataArray)
  736 + self.backgroupView.updateData(idArray: arr as! Array<StandListModel>)
  737 + }
720 }else{ 738 }else{
721 //网络请求失败 739 //网络请求失败
722 } 740 }
@@ -733,8 +751,10 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel @@ -733,8 +751,10 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel
733 for (index, item) in self!.dataArray.enumerated() { 751 for (index, item) in self!.dataArray.enumerated() {
734 let model = item as! StandListModel 752 let model = item as! StandListModel
735 model.shopInfoModel = shopModel 753 model.shopInfoModel = shopModel
736 - let bannerView = self?.pageFlowView.cells[index] as? CNCustomIndexView  
737 - bannerView?.idModel = model 754 + if model.id == 9{
  755 + let bannerView = self?.pageFlowView.cells[index] as? CNCustomIndexView
  756 + bannerView?.idModel = model
  757 + }
738 } 758 }
739 } 759 }
740 } 760 }
metaCode/Classes/Main/HomePage/Controller/DownSlideController/CNUpSlideDetailViewController.swift
@@ -269,7 +269,7 @@ class CNUpSlideDetailViewController: CNLiveBaseViewController,UITableViewDataSou @@ -269,7 +269,7 @@ class CNUpSlideDetailViewController: CNLiveBaseViewController,UITableViewDataSou
269 return 75 269 return 75
270 }else if self.slideModel?.type == SlideModelTypeOneCourse75{ 270 }else if self.slideModel?.type == SlideModelTypeOneCourse75{
271 //大图课程 271 //大图课程
272 - return KSreenWidth 272 + return KSreenWidth*(KSreenWidth/DownSlideSingleCourseW)
273 } 273 }
274 } 274 }
275 }else{ 275 }else{
metaCode/Classes/Main/HomePage/Controller/DownSlideController/CNUpSlideViewController.swift
@@ -131,7 +131,6 @@ class CNUpSlideViewController: CNLiveBaseViewController,UITableViewDelegate,UITa @@ -131,7 +131,6 @@ class CNUpSlideViewController: CNLiveBaseViewController,UITableViewDelegate,UITa
131 guard let cell = tableView.dequeueReusableCell(withIdentifier: kCNLiveDownSlideSingleCourseCellIdentifier) as? CNDownSlideSingleCourseCell 131 guard let cell = tableView.dequeueReusableCell(withIdentifier: kCNLiveDownSlideSingleCourseCellIdentifier) as? CNDownSlideSingleCourseCell
132 else { 132 else {
133 let cell = CNDownSlideSingleCourseCell() 133 let cell = CNDownSlideSingleCourseCell()
134 - cell.slideModel = slideModel  
135 return cell 134 return cell
136 } 135 }
137 cell.slideModel = slideModel 136 cell.slideModel = slideModel
metaCode/Classes/Main/HomePage/View/VerticalViews/DownSlide/CNDownSlideView.swift
@@ -149,14 +149,14 @@ class CNDownSlideView:UIView{ @@ -149,14 +149,14 @@ class CNDownSlideView:UIView{
149 override init(frame: CGRect) { 149 override init(frame: CGRect) {
150 super.init(frame: frame) 150 super.init(frame: frame)
151 151
152 -// let tap = UITapGestureRecognizer.init(target: self, action: #selector(slideViewTap))  
153 -// tap.cancelsTouchesInView = false  
154 -// self.addGestureRecognizer(tap) 152 + let tap = UITapGestureRecognizer.init(target: self, action: #selector(slideViewTap))
  153 + tap.cancelsTouchesInView = false
  154 + self.addGestureRecognizer(tap)
155 self.initUI() 155 self.initUI()
156 } 156 }
157 -// @objc func slideViewTap() {  
158 -// print("slideViewTap")  
159 -// } 157 + @objc func slideViewTap() {
  158 + print("slideViewTap")
  159 + }
160 required init?(coder: NSCoder) { 160 required init?(coder: NSCoder) {
161 fatalError("init(coder:) has not been implemented") 161 fatalError("init(coder:) has not been implemented")
162 } 162 }
metaCode/Classes/Main/HomePage/View/VerticalViews/MainView/CNHomePageBackgroupView.swift
@@ -77,9 +77,9 @@ class CNHomePageBackgroupView: UIView{ @@ -77,9 +77,9 @@ class CNHomePageBackgroupView: UIView{
77 ///当前在屏幕显示的view 77 ///当前在屏幕显示的view
78 var currentApearView: CNHomePageBackgroupSubView? 78 var currentApearView: CNHomePageBackgroupSubView?
79 ///数据源 79 ///数据源
80 - lazy var dataArray:Array<CNHomePageBackgroupSubView> = {  
81 - let dataArray = Array<CNHomePageBackgroupSubView>()  
82 - return dataArray 80 + lazy var groupSubViewDataArray:Array<CNHomePageBackgroupSubView> = {
  81 + let groupSubViewDataArray = Array<CNHomePageBackgroupSubView>()
  82 + return groupSubViewDataArray
83 }() 83 }()
84 84
85 // MARK: - 初始化 85 // MARK: - 初始化
@@ -103,7 +103,7 @@ class CNHomePageBackgroupView: UIView{ @@ -103,7 +103,7 @@ class CNHomePageBackgroupView: UIView{
103 let obj:UIView = array[i] 103 let obj:UIView = array[i]
104 obj.removeFromSuperview() 104 obj.removeFromSuperview()
105 } 105 }
106 - self.dataArray = Array<CNHomePageBackgroupSubView>() 106 + self.groupSubViewDataArray = Array<CNHomePageBackgroupSubView>()
107 107
108 for i in (0..<idArray.count){ 108 for i in (0..<idArray.count){
109 109
@@ -117,11 +117,11 @@ class CNHomePageBackgroupView: UIView{ @@ -117,11 +117,11 @@ class CNHomePageBackgroupView: UIView{
117 subView.imageView.kf.setImage(with: URL(string: idModel.backgroundImg),placeholder: UIImage(named: "homePage_backgroup_blue")) 117 subView.imageView.kf.setImage(with: URL(string: idModel.backgroundImg),placeholder: UIImage(named: "homePage_backgroup_blue"))
118 118
119 //更新双向链表 119 //更新双向链表
120 - let lastSubView: CNHomePageBackgroupSubView? = self.dataArray.last 120 + let lastSubView: CNHomePageBackgroupSubView? = self.groupSubViewDataArray.last
121 lastSubView?.nextSubView = subView 121 lastSubView?.nextSubView = subView
122 subView.preSubView = lastSubView 122 subView.preSubView = lastSubView
123 123
124 - self.dataArray.append(subView) 124 + self.groupSubViewDataArray.append(subView)
125 125
126 if i==0 { 126 if i==0 {
127 self.currentApearView = subView 127 self.currentApearView = subView
@@ -130,7 +130,7 @@ class CNHomePageBackgroupView: UIView{ @@ -130,7 +130,7 @@ class CNHomePageBackgroupView: UIView{
130 } 130 }
131 131
132 //倒序添加子view 132 //倒序添加子view
133 - for i in self.dataArray.enumerated().reversed() { 133 + for i in self.groupSubViewDataArray.enumerated().reversed() {
134 134
135 let subview: CNHomePageBackgroupSubView = i.element 135 let subview: CNHomePageBackgroupSubView = i.element
136 self.addSubview(subview) 136 self.addSubview(subview)
@@ -148,14 +148,14 @@ class CNHomePageBackgroupView: UIView{ @@ -148,14 +148,14 @@ class CNHomePageBackgroupView: UIView{
148 if(currentApearViewIndex == 0){ 148 if(currentApearViewIndex == 0){
149 return nil 149 return nil
150 } 150 }
151 - return dataArray[currentApearViewIndex - 1] 151 + return groupSubViewDataArray[currentApearViewIndex - 1]
152 } 152 }
153 ///获取当前视图右边的子视图 153 ///获取当前视图右边的子视图
154 func getRightView()->CNHomePageBackgroupSubView?{ 154 func getRightView()->CNHomePageBackgroupSubView?{
155 - if(currentApearViewIndex >= self.dataArray.count - 1){ 155 + if(currentApearViewIndex >= self.groupSubViewDataArray.count - 1){
156 return nil 156 return nil
157 } 157 }
158 - return dataArray[currentApearViewIndex + 1] 158 + return groupSubViewDataArray[currentApearViewIndex + 1]
159 } 159 }
160 160
161 /// 替换当前显示的子view 161 /// 替换当前显示的子view
metaCode/Classes/Main/HomePage/View/VerticalViews/MainView/CNMainView.swift
@@ -16,12 +16,14 @@ let KTransformAnimationTime:CGFloat = 0.75; @@ -16,12 +16,14 @@ let KTransformAnimationTime:CGFloat = 0.75;
16 class CNFrontMainView : UIView{ 16 class CNFrontMainView : UIView{
17 ///点击反转事件 17 ///点击反转事件
18 var tapTransformAciton:closureBlock? 18 var tapTransformAciton:closureBlock?
19 - 19 + let delegate = UIApplication.shared.delegate as! AppDelegate
  20 + var standInfoSubTitleModel:MineStandInfoSubTitleModel?//17时弹窗的跳转model
  21 +
20 override init(frame: CGRect) { 22 override init(frame: CGRect) {
21 super.init(frame: frame) 23 super.init(frame: frame)
22 self.initUI() 24 self.initUI()
23 -// let tap:UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(tapAction))  
24 -// self.addGestureRecognizer(tap) 25 + let tap:UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(tapAction))
  26 + self.addGestureRecognizer(tap)
25 } 27 }
26 28
27 required init?(coder: NSCoder) { 29 required init?(coder: NSCoder) {
@@ -75,7 +77,15 @@ class CNFrontMainView : UIView{ @@ -75,7 +77,15 @@ class CNFrontMainView : UIView{
75 make.width.equalTo(120) 77 make.width.equalTo(120)
76 make.height.equalTo(36) 78 make.height.equalTo(36)
77 } 79 }
78 - 80 +
  81 + frontDescContentView.addSubview(self.unStandBtnBgView)
  82 + unStandBtnBgView.snp.makeConstraints { make in
  83 + make.left.equalToSuperview().offset(30)
  84 + make.bottom.equalToSuperview().offset(-45)
  85 + make.width.equalTo(self.width-60)
  86 + make.height.equalTo(36)
  87 + }
  88 +
79 89
80 frontDescContentView.addSubview(self.textView) 90 frontDescContentView.addSubview(self.textView)
81 textView.snp.makeConstraints { make in 91 textView.snp.makeConstraints { make in
@@ -105,7 +115,7 @@ class CNFrontMainView : UIView{ @@ -105,7 +115,7 @@ class CNFrontMainView : UIView{
105 return textView 115 return textView
106 }() 116 }()
107 117
108 - ///未认证-店铺认证 按钮 118 + ///未认证-店铺认证 按钮(一个按钮时)
109 lazy var addStandBtn: UIButton = { 119 lazy var addStandBtn: UIButton = {
110 let addStandBtn = UIButton(type: .custom) 120 let addStandBtn = UIButton(type: .custom)
111 addStandBtn.clipsToBounds = true 121 addStandBtn.clipsToBounds = true
@@ -118,7 +128,7 @@ class CNFrontMainView : UIView{ @@ -118,7 +128,7 @@ class CNFrontMainView : UIView{
118 return addStandBtn 128 return addStandBtn
119 }() 129 }()
120 130
121 - ///未认证-个人认证 按钮 131 + ///未认证-个人认证 按钮(两个按钮时第一个)
122 lazy var personalStandBtn: UIButton = { 132 lazy var personalStandBtn: UIButton = {
123 let personalStandBtn = UIButton(type: .custom) 133 let personalStandBtn = UIButton(type: .custom)
124 personalStandBtn.layer.cornerRadius = 19.5 134 personalStandBtn.layer.cornerRadius = 19.5
@@ -127,9 +137,10 @@ class CNFrontMainView : UIView{ @@ -127,9 +137,10 @@ class CNFrontMainView : UIView{
127 personalStandBtn.setTitleColor(HexColor("#FFFFFF"), for: .normal) 137 personalStandBtn.setTitleColor(HexColor("#FFFFFF"), for: .normal)
128 personalStandBtn.titleLabel?.font = UIFont.init(name: "PingFangSC-Medium", size: 14) 138 personalStandBtn.titleLabel?.font = UIFont.init(name: "PingFangSC-Medium", size: 14)
129 personalStandBtn.addTarget(self, action: #selector(personalStandBtnAction), for: .touchUpInside) 139 personalStandBtn.addTarget(self, action: #selector(personalStandBtnAction), for: .touchUpInside)
  140 + personalStandBtn.isHidden = true
130 return personalStandBtn 141 return personalStandBtn
131 }() 142 }()
132 - ///未认证-企业认证 按钮 143 + ///未认证-企业认证 按钮(两个按钮时第二个)
133 lazy var enterpriseStandBtn: UIButton = { 144 lazy var enterpriseStandBtn: UIButton = {
134 let enterpriseStandBtn = UIButton(type: .custom) 145 let enterpriseStandBtn = UIButton(type: .custom)
135 enterpriseStandBtn.layer.cornerRadius = 19.5 146 enterpriseStandBtn.layer.cornerRadius = 19.5
@@ -138,9 +149,120 @@ class CNFrontMainView : UIView{ @@ -138,9 +149,120 @@ class CNFrontMainView : UIView{
138 enterpriseStandBtn.setTitleColor(HexColor("#FFFFFF"), for: .normal) 149 enterpriseStandBtn.setTitleColor(HexColor("#FFFFFF"), for: .normal)
139 enterpriseStandBtn.titleLabel?.font = UIFont.init(name: "PingFangSC-Medium", size: 14) 150 enterpriseStandBtn.titleLabel?.font = UIFont.init(name: "PingFangSC-Medium", size: 14)
140 enterpriseStandBtn.addTarget(self, action: #selector(enterpriseStandBtnAction), for: .touchUpInside) 151 enterpriseStandBtn.addTarget(self, action: #selector(enterpriseStandBtnAction), for: .touchUpInside)
  152 + enterpriseStandBtn.isHidden = true
141 return enterpriseStandBtn 153 return enterpriseStandBtn
142 }() 154 }()
143 155
  156 + ///未认证-3个认证按钮的 第1个
  157 + lazy var StandBtn1: UIButton = {
  158 + //第1个按钮
  159 + let StandBtn1 = UIButton(type: .custom)
  160 + StandBtn1.setTitle("个人认证", for: .normal)
  161 + StandBtn1.setTitleColor(HexColor("#FFFFFF"), for: .normal)
  162 + StandBtn1.titleLabel?.font = UIFont.init(name: "PingFangSC-Medium", size: 14)
  163 + StandBtn1.addTarget(self, action: #selector(StandBtn1Action), for: .touchUpInside)
  164 + return StandBtn1
  165 + }()
  166 + ///未认证-3个认证按钮的 第2个
  167 + lazy var StandBtn2: UIButton = {
  168 + //第2个按钮
  169 + let StandBtn2 = UIButton(type: .custom)
  170 + StandBtn2.setTitle("企业认证", for: .normal)
  171 + StandBtn2.setTitleColor(HexColor("#FFFFFF"), for: .normal)
  172 + StandBtn2.titleLabel?.font = UIFont.init(name: "PingFangSC-Medium", size: 14)
  173 + StandBtn2.addTarget(self, action: #selector(StandBtn2Action), for: .touchUpInside)
  174 + return StandBtn2
  175 + }()
  176 + ///未认证-3个认证按钮的 第3个
  177 + lazy var StandBtn3: UIButton = {
  178 + //第3个按钮
  179 + let StandBtn3 = UIButton(type: .custom)
  180 + StandBtn3.setTitle("机构认证", for: .normal)
  181 + StandBtn3.setTitleColor(HexColor("#FFFFFF"), for: .normal)
  182 + StandBtn3.titleLabel?.font = UIFont.init(name: "PingFangSC-Medium", size: 14)
  183 + StandBtn3.addTarget(self, action: #selector(StandBtn3Action), for: .touchUpInside)
  184 + return StandBtn3
  185 + }()
  186 + lazy var line1View :UIView = {
  187 + let line1View = UIView(frame: CGRect(x: 0, y: 0, width: 0.5, height: 10))
  188 + line1View.backgroundColor = HexColor("#FEFFFF")
  189 + return line1View
  190 + }()
  191 + lazy var line2View :UIView = {
  192 + let line2View = UIView(frame: CGRect(x: 0, y: 0, width: 0.5, height: 10))
  193 + line2View.backgroundColor = HexColor("#FEFFFF")
  194 + return line2View
  195 + }()
  196 +
  197 + //未认证-3个认证按钮背景图
  198 + lazy var unStandBtnBgView :UIView = {
  199 + let unStandBtnBgView = UIView(frame: CGRect(x: 0, y: 0, width: 0, height: 0))
  200 + unStandBtnBgView.layer.cornerRadius = 18
  201 + unStandBtnBgView.clipsToBounds = true
  202 +
  203 + unStandBtnBgView.addSubview(self.StandBtn1)
  204 + StandBtn1.snp.makeConstraints { make in
  205 + make.left.equalToSuperview()
  206 + make.top.equalToSuperview()
  207 + make.width.equalTo((self.width-60)/3)
  208 + make.height.equalTo(36)
  209 + }
  210 + unStandBtnBgView.addSubview(self.StandBtn2)
  211 + StandBtn2.snp.makeConstraints { make in
  212 + make.centerX.equalToSuperview()
  213 + make.top.equalToSuperview()
  214 + make.width.equalTo(self.StandBtn1.snp.width)
  215 + make.height.equalTo(36)
  216 + }
  217 + unStandBtnBgView.addSubview(self.StandBtn3)
  218 + StandBtn3.snp.makeConstraints { make in
  219 + make.right.equalToSuperview()
  220 + make.top.equalToSuperview()
  221 + make.width.equalTo(self.StandBtn1.snp.width)
  222 + make.height.equalTo(36)
  223 + }
  224 +
  225 + unStandBtnBgView.addSubview(self.line1View)
  226 + line1View.snp.makeConstraints { make in
  227 + make.centerX.equalTo(self.StandBtn1.snp.right)
  228 + make.centerY.equalToSuperview()
  229 + make.width.equalTo(0.5)
  230 + make.height.equalTo(10)
  231 + }
  232 + unStandBtnBgView.addSubview(self.line2View)
  233 + line2View.snp.makeConstraints { make in
  234 + make.centerX.equalTo(self.StandBtn2.snp.right)
  235 + make.centerY.equalToSuperview()
  236 + make.width.equalTo(0.5)
  237 + make.height.equalTo(10)
  238 + }
  239 +
  240 + return unStandBtnBgView
  241 + }()
  242 + /// 未认证-inputType17时弹窗背景图
  243 + lazy var alertBgImgView:UIImageView = {
  244 + let alertBgImgView:UIImageView = UIImageView()
  245 + alertBgImgView.tag = 20001
  246 + alertBgImgView.isUserInteractionEnabled = true
  247 + let ges = UITapGestureRecognizer(target: self, action: #selector(alertBgImgViewClickAction))
  248 + alertBgImgView.addGestureRecognizer(ges)
  249 +
  250 + return alertBgImgView
  251 + }()
  252 + /// 未认证-inputType17时弹窗背景图蒙版
  253 + lazy var alertBgView:UIView = {
  254 + let alertBgView:UIView = UIView(frame: CGRect(x: 0, y: 0, width: KSreenWidth, height: KSreenHeight))
  255 + alertBgView.backgroundColor = HexColor("#000000")
  256 + alertBgView.alpha = 0.6
  257 + alertBgView.isUserInteractionEnabled = true
  258 + alertBgView.tag = 20000
  259 +
  260 + let ges = UITapGestureRecognizer(target: self, action: #selector(alertBgViewClickAction))
  261 + alertBgView.addGestureRecognizer(ges)
  262 +
  263 + return alertBgView
  264 + }()
  265 +
144 //上滑更多Gif 266 //上滑更多Gif
145 lazy var upMoreGIF: UIImageView = { 267 lazy var upMoreGIF: UIImageView = {
146 let upMoreGIF = UIImageView() 268 let upMoreGIF = UIImageView()
@@ -154,6 +276,7 @@ class CNFrontMainView : UIView{ @@ -154,6 +276,7 @@ class CNFrontMainView : UIView{
154 return downMoreGIF 276 return downMoreGIF
155 }() 277 }()
156 278
  279 + // MARK: - 已认证
157 ///已认证-前置视图卡片容器 280 ///已认证-前置视图卡片容器
158 lazy var frontCardContentView : UIView = { 281 lazy var frontCardContentView : UIView = {
159 282
@@ -220,10 +343,9 @@ class CNFrontMainView : UIView{ @@ -220,10 +343,9 @@ class CNFrontMainView : UIView{
220 self.addStandBtn.isHidden = true 343 self.addStandBtn.isHidden = true
221 self.iDCardView.idModel = newValue! 344 self.iDCardView.idModel = newValue!
222 cardViewBgImgView.kf.setImage(with: URL(string: _idModel!.cardBackgroundImg), placeholder: UIImage(named: "homepage_cardBGImg")) 345 cardViewBgImgView.kf.setImage(with: URL(string: _idModel!.cardBackgroundImg), placeholder: UIImage(named: "homepage_cardBGImg"))
223 -  
224 -  
225 //隐藏textview 346 //隐藏textview
226 textView.isHidden = true 347 textView.isHidden = true
  348 + unStandBtnBgView.isHidden = true
227 349
228 if frontCardContentView.contains(self.upMoreGIF){ 350 if frontCardContentView.contains(self.upMoreGIF){
229 self.upMoreGIF.removeFromSuperview() 351 self.upMoreGIF.removeFromSuperview()
@@ -269,6 +391,7 @@ class CNFrontMainView : UIView{ @@ -269,6 +391,7 @@ class CNFrontMainView : UIView{
269 self.addStandBtn.isHidden = false 391 self.addStandBtn.isHidden = false
270 self.personalStandBtn.isHidden = true 392 self.personalStandBtn.isHidden = true
271 self.enterpriseStandBtn.isHidden = true 393 self.enterpriseStandBtn.isHidden = true
  394 + self.unStandBtnBgView.isHidden = true
272 self.addStandBtn.isUserInteractionEnabled = true 395 self.addStandBtn.isUserInteractionEnabled = true
273 if idModel?.shopInfoModel?.state == "0" || idModel?.shopInfoModel?.state == "4"{ 396 if idModel?.shopInfoModel?.state == "0" || idModel?.shopInfoModel?.state == "4"{
274 //0未申请 //4闭店 397 //0未申请 //4闭店
@@ -293,30 +416,63 @@ class CNFrontMainView : UIView{ @@ -293,30 +416,63 @@ class CNFrontMainView : UIView{
293 upMoreGIF.isHidden = false 416 upMoreGIF.isHidden = false
294 downMoreGIF.isHidden = false 417 downMoreGIF.isHidden = false
295 418
296 - if idModel?.isPersonOrEnterprise == 0{//企业+个人 419 + if idModel?.isPersonOrEnterprise == 0{//企业+个人等 2个按钮
297 self.addStandBtn.isHidden = true 420 self.addStandBtn.isHidden = true
298 self.personalStandBtn.isHidden = false 421 self.personalStandBtn.isHidden = false
299 self.enterpriseStandBtn.isHidden = false 422 self.enterpriseStandBtn.isHidden = false
  423 + unStandBtnBgView.isHidden = true
  424 + let presonInfoCount = self.idModel?.standInfoBaseModel?.authInfos.count ?? 0
  425 + let enterInfoCount = self.idModel?.standInfoBaseModel?.enterpriseAuthInfos.count ?? 0
  426 + let agencyInfoCount = self.idModel?.standInfoBaseModel?.agencyAuthInfos.count ?? 0
  427 + if presonInfoCount > 0 && enterInfoCount > 0{
  428 + //个人+企业
  429 + self.personalStandBtn.setTitle("个人认证", for: .normal)
  430 + self.enterpriseStandBtn.setTitle("企业认证", for: .normal)
  431 + }else if presonInfoCount > 0 && agencyInfoCount > 0{
  432 + //个人+机构
  433 + self.personalStandBtn.setTitle("个人认证", for: .normal)
  434 + self.enterpriseStandBtn.setTitle("机构认证", for: .normal)
  435 + }else if enterInfoCount > 0 && agencyInfoCount > 0{
  436 + //企业+机构
  437 + self.personalStandBtn.setTitle("企业认证", for: .normal)
  438 + self.enterpriseStandBtn.setTitle("机构认证", for: .normal)
  439 + }
300 }else if idModel?.isPersonOrEnterprise == 1{//个人 440 }else if idModel?.isPersonOrEnterprise == 1{//个人
301 self.addStandBtn.isHidden = false 441 self.addStandBtn.isHidden = false
302 self.addStandBtn.setTitle("个人认证", for: .normal) 442 self.addStandBtn.setTitle("个人认证", for: .normal)
303 self.personalStandBtn.isHidden = true 443 self.personalStandBtn.isHidden = true
304 self.enterpriseStandBtn.isHidden = true 444 self.enterpriseStandBtn.isHidden = true
  445 + self.unStandBtnBgView.isHidden = true
305 }else if idModel?.isPersonOrEnterprise == 2{//企业 446 }else if idModel?.isPersonOrEnterprise == 2{//企业
306 self.addStandBtn.isHidden = false 447 self.addStandBtn.isHidden = false
307 self.addStandBtn.setTitle("企业认证", for: .normal) 448 self.addStandBtn.setTitle("企业认证", for: .normal)
308 self.personalStandBtn.isHidden = true 449 self.personalStandBtn.isHidden = true
309 self.enterpriseStandBtn.isHidden = true 450 self.enterpriseStandBtn.isHidden = true
  451 + self.unStandBtnBgView.isHidden = true
310 }else if idModel?.isPersonOrEnterprise == 3{//已认证/无企业和个人 452 }else if idModel?.isPersonOrEnterprise == 3{//已认证/无企业和个人
311 //不显示认证按钮 453 //不显示认证按钮
312 self.addStandBtn.isHidden = true 454 self.addStandBtn.isHidden = true
313 self.personalStandBtn.isHidden = true 455 self.personalStandBtn.isHidden = true
314 self.enterpriseStandBtn.isHidden = true 456 self.enterpriseStandBtn.isHidden = true
  457 + self.unStandBtnBgView.isHidden = true
  458 + }else if idModel?.isPersonOrEnterprise == 4{//个人+企业+机构
  459 + self.addStandBtn.isHidden = true
  460 + self.personalStandBtn.isHidden = true
  461 + self.enterpriseStandBtn.isHidden = true
  462 + self.unStandBtnBgView.isHidden = false
  463 + self.setUnStandBtnBgViewLayer(startHex: newValue!.atPersonageColour, endHex: newValue!.backgroundColor)
  464 + }else if idModel?.isPersonOrEnterprise == 5{//机构
  465 + self.addStandBtn.isHidden = false
  466 + self.addStandBtn.setTitle("机构认证", for: .normal)
  467 + self.personalStandBtn.isHidden = true
  468 + self.enterpriseStandBtn.isHidden = true
  469 + self.unStandBtnBgView.isHidden = true
315 }else{ 470 }else{
316 //不显示认证按钮 471 //不显示认证按钮
317 self.addStandBtn.isHidden = true 472 self.addStandBtn.isHidden = true
318 self.personalStandBtn.isHidden = false 473 self.personalStandBtn.isHidden = false
319 self.enterpriseStandBtn.isHidden = false 474 self.enterpriseStandBtn.isHidden = false
  475 + self.unStandBtnBgView.isHidden = true
320 } 476 }
321 } 477 }
322 478
@@ -357,6 +513,35 @@ class CNFrontMainView : UIView{ @@ -357,6 +513,35 @@ class CNFrontMainView : UIView{
357 } 513 }
358 } 514 }
359 515
  516 + let unStandBtnBgViewLayer = "unStandBtnBgViewLayer"
  517 + func setUnStandBtnBgViewLayer(startHex:String,endHex:String){
  518 + let payLayer = self.subLayer(name: unStandBtnBgViewLayer, viewLayer: self.unStandBtnBgView.layer)
  519 +
  520 + if (payLayer != nil){
  521 + //已添加layer
  522 + payLayer?.removeFromSuperlayer()
  523 + }
  524 + //添加新layer
  525 + let gradient = CAGradientLayer()
  526 + gradient.frame = self.bounds
  527 + gradient.colors = [HexColor(startHex)!.cgColor, HexColor(endHex)!.cgColor]
  528 + gradient.locations = [0, 1]
  529 + gradient.startPoint = CGPoint(x: 0, y: 0.43)
  530 + gradient.endPoint = CGPoint(x: 0.43, y: 0.43)
  531 + gradient.name = unStandBtnBgViewLayer
  532 + self.unStandBtnBgView.layer.insertSublayer(gradient, at: 0)
  533 + self.unStandBtnBgView.backgroundColor = .clear
  534 + }
  535 + func subLayer(name:String,viewLayer:CALayer) -> CALayer?{
  536 + if let subLayer = viewLayer.sublayers?.first(where: { $0.name == name }) {
  537 + // 这里可以对获取到的子图层进行操作或者访问其属性等
  538 + return subLayer
  539 + } else {
  540 +// print("未找到指定名称的图层")
  541 + return nil
  542 + }
  543 + }
  544 +
360 func initUI() 545 func initUI()
361 { 546 {
362 self.addSubview(self.frontTotolContentView) 547 self.addSubview(self.frontTotolContentView)
@@ -371,11 +556,12 @@ class CNFrontMainView : UIView{ @@ -371,11 +556,12 @@ class CNFrontMainView : UIView{
371 556
372 // MARK: -按钮点击事件 557 // MARK: -按钮点击事件
373 @objc func tapAction(){ 558 @objc func tapAction(){
374 - tapTransformAciton!() 559 + //翻转到反面
  560 +// tapTransformAciton!()
375 } 561 }
376 562
377 @objc func addStandBtnAction() { 563 @objc func addStandBtnAction() {
378 - //跳转到 电商认证 / 个人 / 企业 564 + //跳转到 电商认证 / 个人 / 企业 / 机构
379 self.pushStandVC(isPersonOrEnterprise: 3) 565 self.pushStandVC(isPersonOrEnterprise: 3)
380 } 566 }
381 @objc func personalStandBtnAction() { 567 @objc func personalStandBtnAction() {
@@ -387,6 +573,71 @@ class CNFrontMainView : UIView{ @@ -387,6 +573,71 @@ class CNFrontMainView : UIView{
387 self.pushStandVC(isPersonOrEnterprise: 2) 573 self.pushStandVC(isPersonOrEnterprise: 2)
388 } 574 }
389 575
  576 + @objc func StandBtn1Action() {
  577 + //跳转到 个人认证页面
  578 + self.pushStandVC(isPersonOrEnterprise: 1)
  579 + }
  580 + @objc func StandBtn2Action() {
  581 + //跳转到 企业认证页面
  582 + self.pushStandVC(isPersonOrEnterprise: 2)
  583 + }
  584 + @objc func StandBtn3Action() {
  585 + //跳转到 机构认证页面
  586 + self.pushStandVC(isPersonOrEnterprise: 3)
  587 + }
  588 +
  589 + // MARK: - 点击弹窗,按类型跳转
  590 + @objc func alertBgImgViewClickAction() {
  591 + //点击弹窗,按类型跳转
  592 + if self.standInfoSubTitleModel?.jumpType == UpDownTypeH5{
  593 + let webVC = CNWebViewController()
  594 + webVC.url = URL(string: self.standInfoSubTitleModel?.jumpPath ?? "")
  595 + navigationViewController().pushViewController(webVC, animated: pushAnimated)
  596 + }else if self.standInfoSubTitleModel?.jumpType == UpDownTypePage{
  597 + let upSlideVC = CNUpSlideViewController()
  598 + upSlideVC.downPath = self.standInfoSubTitleModel?.jumpPath ?? ""
  599 + navigationViewController().pushViewController(upSlideVC, animated: pushAnimated)
  600 + }else if self.standInfoSubTitleModel?.jumpType == UpDownTypeShopDetail{
  601 +
  602 + }else if self.standInfoSubTitleModel?.jumpType == UpDownTypeShopControlConsole{
  603 + let shopConsoleVC = CNLiveShopConsoleController()
  604 + navigationViewController().pushViewController(shopConsoleVC, animated: pushAnimated)
  605 + }else if self.standInfoSubTitleModel?.jumpType == UpDownTypeAuthAlertUp{
  606 +
  607 + let customIndexView = ((self.superview as! CNMainView).superview as! UIScrollView).superview as! CNCustomIndexView
  608 + let baseScrollView = customIndexView.baseScrollView
  609 + baseScrollView.setContentOffset(CGPoint(x: 0, y: 0), animated: true)
  610 + currentViewController()?.tabBarController?.tabBar.isHidden = false
  611 + customIndexView.superScrollView?.isScrollEnabled = true
  612 +
  613 + let time = DispatchTime.now() + 0.5
  614 + DispatchQueue.main.asyncAfter(deadline:time, execute: DispatchWorkItem(block: {
  615 + //下滑提醒View回到初始位置
  616 + customIndexView.downSlideViewRemindView.top = -((customIndexView.downSlideViewRemindView.height) + 50)
  617 + }))
  618 +
  619 + }else if self.standInfoSubTitleModel?.jumpType == UpDownTypeAuthAlertDown{
  620 + let customIndexView = ((self.superview as! CNMainView).superview as! UIScrollView).superview as! CNCustomIndexView
  621 + let baseScrollView = customIndexView.baseScrollView
  622 + baseScrollView.setContentOffset(CGPoint(x: 0, y: (baseScrollView.height*2+KNavigationHeight)), animated: true)
  623 + currentViewController()?.tabBarController?.tabBar.isHidden = false
  624 + customIndexView.superScrollView?.isScrollEnabled = true
  625 +
  626 + let time = DispatchTime.now() + 0.5
  627 + DispatchQueue.main.asyncAfter(deadline:time, execute: DispatchWorkItem(block: {
  628 + //下滑提醒View回到初始位置
  629 + customIndexView.downSlideViewRemindView.top = -((customIndexView.downSlideViewRemindView.height) + 50)
  630 + }))
  631 + }
  632 +
  633 + self.hiden17Alert()
  634 + }
  635 + @objc func alertBgViewClickAction() {
  636 + //点击蒙版隐藏view
  637 + self.hiden17Alert()
  638 + }
  639 +
  640 + // MARK: - 通用跳转认证页面 isPersonOrEnterprise 1个人 2企业 3机构
390 func pushStandVC(isPersonOrEnterprise:Int){ 641 func pushStandVC(isPersonOrEnterprise:Int){
391 //跳转到 个人认证&企业认证 页面 642 //跳转到 个人认证&企业认证 页面
392 if _idModel!.id == 9 { 643 if _idModel!.id == 9 {
@@ -405,18 +656,98 @@ class CNFrontMainView : UIView{ @@ -405,18 +656,98 @@ class CNFrontMainView : UIView{
405 //企业 656 //企业
406 navigationViewController().pushViewController(CNLiveMineInputViewController.init(listModel: self._idModel!, authType: .enterprise), animated: pushAnimated) 657 navigationViewController().pushViewController(CNLiveMineInputViewController.init(listModel: self._idModel!, authType: .enterprise), animated: pushAnimated)
407 658
408 - }else{ 659 + }else if self._idModel!.isPersonOrEnterprise == 5{
  660 + //机构
  661 + navigationViewController().pushViewController(CNLiveMineInputViewController.init(listModel: self._idModel!, authType: .agency), animated: pushAnimated)
  662 +
  663 + }else if self._idModel!.isPersonOrEnterprise == 0{
  664 + //2个按钮
409 if isPersonOrEnterprise == 1{ 665 if isPersonOrEnterprise == 1{
410 - navigationViewController().pushViewController(CNLiveMineInputViewController.init(listModel: self._idModel!, authType: .person), animated: pushAnimated) 666 + //第1个按钮
  667 + var authType:CNLiveMineInputAuthType = .person
  668 + if self._idModel?.standInfoBaseModel?.authInfos.count ?? 0 > 0{
  669 + //点击个人
  670 + authType = .person
  671 + }else if self._idModel?.standInfoBaseModel?.enterpriseAuthInfos.count ?? 0 > 0{
  672 + //点击企业
  673 + authType = .enterprise
  674 + }else{
  675 +
  676 + }
  677 + navigationViewController().pushViewController(CNLiveMineInputViewController.init(listModel: self._idModel!, authType: authType), animated: pushAnimated)
411 678
412 }else if isPersonOrEnterprise == 2{ 679 }else if isPersonOrEnterprise == 2{
413 - navigationViewController().pushViewController(CNLiveMineInputViewController.init(listModel: self._idModel!, authType: .enterprise), animated: pushAnimated) 680 + //第二个按钮
  681 + var authType:CNLiveMineInputAuthType = .enterprise
  682 + if self._idModel?.standInfoBaseModel?.enterpriseAuthInfos.count ?? 0 > 0{
  683 + //点击企业
  684 + authType = .enterprise
  685 + }else if self._idModel?.standInfoBaseModel?.agencyAuthInfos.count ?? 0 > 0{
  686 + //点击机构
  687 + authType = .agency
  688 + }else{
  689 +
  690 + }
  691 + navigationViewController().pushViewController(CNLiveMineInputViewController.init(listModel: self._idModel!, authType: authType), animated: pushAnimated)
414 }else{ 692 }else{
415 navigationViewController().pushViewController(CNLiveMineInputViewController.init(listModel: self._idModel!, authType: .person), animated: pushAnimated) 693 navigationViewController().pushViewController(CNLiveMineInputViewController.init(listModel: self._idModel!, authType: .person), animated: pushAnimated)
416 } 694 }
  695 + }else if self._idModel!.isPersonOrEnterprise == 4{
  696 + //个人+企业+机构
  697 + if (self._idModel?.standInfoBaseModel?.authInfos.first?.inputType == 17 && isPersonOrEnterprise == 1) || (self._idModel?.standInfoBaseModel?.enterpriseAuthInfos.first?.inputType == 17 && isPersonOrEnterprise == 2) || (self._idModel?.standInfoBaseModel?.agencyAuthInfos.first?.inputType == 17 && isPersonOrEnterprise == 3){
  698 + //弹窗
  699 + self.show17Alert(index: isPersonOrEnterprise)
  700 + return
  701 + }
  702 + var authType:CNLiveMineInputAuthType = .person
  703 + if isPersonOrEnterprise == 1{
  704 + authType = .person
  705 + }else if isPersonOrEnterprise == 2{
  706 + authType = .enterprise
  707 + }else if isPersonOrEnterprise == 3{
  708 + authType = .agency
  709 + }
  710 + navigationViewController().pushViewController(CNLiveMineInputViewController.init(listModel: self._idModel!, authType: authType), animated: pushAnimated)
417 } 711 }
418 } 712 }
419 } 713 }
  714 +
  715 + //弹出弹窗
  716 + func show17Alert(index:Int){
  717 + delegate.window?.addSubview(self.alertBgView)
  718 + delegate.window?.addSubview(self.alertBgImgView)
  719 + alertBgImgView.snp.makeConstraints { make in
  720 + make.centerX.equalToSuperview()
  721 + make.centerY.equalToSuperview()
  722 + make.width.equalTo(KSreenWidth-80)
  723 + make.height.equalTo((KSreenWidth-80)*170.5/295)
  724 + }
  725 +
  726 + var alertBgImgStr = ""
  727 + var subTitleModel:MineStandInfoSubTitleModel = MineStandInfoSubTitleModel()
  728 + if index == 1{
  729 + let subTitle = self.idModel?.standInfoBaseModel?.authInfos.first?.subTitle
  730 + subTitleModel = jsonToModel(subTitle ?? "", MineStandInfoSubTitleModel.self) as! MineStandInfoSubTitleModel
  731 + alertBgImgStr = subTitleModel.image ?? ""
  732 + }else if index == 2{
  733 + let subTitle = self.idModel?.standInfoBaseModel?.enterpriseAuthInfos.first?.subTitle
  734 + subTitleModel = jsonToModel(subTitle ?? "", MineStandInfoSubTitleModel.self) as! MineStandInfoSubTitleModel
  735 + alertBgImgStr = subTitleModel.image ?? ""
  736 + }else if index == 3{
  737 + let subTitle = self.idModel?.standInfoBaseModel?.agencyAuthInfos.first?.subTitle
  738 + subTitleModel = jsonToModel(subTitle ?? "", MineStandInfoSubTitleModel.self) as! MineStandInfoSubTitleModel
  739 + alertBgImgStr = subTitleModel.image ?? ""
  740 + }
  741 + self.alertBgImgView.kf.setImage(with: URL(string: alertBgImgStr))
  742 + self.standInfoSubTitleModel = subTitleModel
  743 + }
  744 + func hiden17Alert(){
  745 + delegate.window?.subviews.forEach({ view in
  746 + if view.tag >= 20000{
  747 + view.removeFromSuperview()
  748 + }
  749 + })
  750 + }
420 } 751 }
421 752
422 ///反面View 753 ///反面View
metaCode/Classes/Main/HomePage/View/VerticalViews/UpSlide/CNUpSlideView.swift
@@ -12,6 +12,8 @@ let UpDownTypeH5 = 1///h5 @@ -12,6 +12,8 @@ let UpDownTypeH5 = 1///h5
12 let UpDownTypePage = 2///原生page页面 12 let UpDownTypePage = 2///原生page页面
13 let UpDownTypeShopDetail = 3///店铺详情 13 let UpDownTypeShopDetail = 3///店铺详情
14 let UpDownTypeShopControlConsole = 4///店铺控制台 14 let UpDownTypeShopControlConsole = 4///店铺控制台
  15 +let UpDownTypeAuthAlertUp = 5///上滑地址 认证-弹窗
  16 +let UpDownTypeAuthAlertDown = 6///下滑地址 认证-弹窗
15 17
16 ///上滑显示的VIew 18 ///上滑显示的VIew
17 class CNUpSlideView:UIView{ 19 class CNUpSlideView:UIView{
@@ -44,6 +46,9 @@ class CNUpSlideView:UIView{ @@ -44,6 +46,9 @@ class CNUpSlideView:UIView{
44 } 46 }
45 set{ 47 set{
46 _downPath = newValue! 48 _downPath = newValue!
  49 + self.subviews.forEach { view in
  50 + view.removeFromSuperview()
  51 + }
47 if(type == UpDownTypeH5){ 52 if(type == UpDownTypeH5){
48 self.addSubview(self.webView) 53 self.addSubview(self.webView)
49 if (_downPath != ""){ 54 if (_downPath != ""){
metaCode/Classes/Main/HomePages/View/HomepageDetail/CNLiveAlbumImageCell.swift
@@ -11,7 +11,9 @@ class CNLiveAlbumImageCell:UITableViewCell{ @@ -11,7 +11,9 @@ class CNLiveAlbumImageCell:UITableViewCell{
11 11
12 //MARK: - 懒加载 12 //MARK: - 懒加载
13 lazy var iconImgView :UIImageView = { 13 lazy var iconImgView :UIImageView = {
14 - let iconImgView = UIImageView(frame: CGRect(x: 0, y: 0, width: KSreenWidth, height: KSreenWidth)) 14 + let iconImgView = UIImageView(frame: CGRect(x: (KSreenWidth - KSreenWidth*(KSreenWidth/DownSlideSingleCourseW))/2, y: 0, width: KSreenWidth*(KSreenWidth/DownSlideSingleCourseW), height: KSreenWidth*(KSreenWidth/DownSlideSingleCourseW)))
  15 + iconImgView.contentMode = .scaleAspectFill
  16 + iconImgView.clipsToBounds = true
15 return iconImgView 17 return iconImgView
16 }() 18 }()
17 19
@@ -28,6 +30,7 @@ class CNLiveAlbumImageCell:UITableViewCell{ @@ -28,6 +30,7 @@ class CNLiveAlbumImageCell:UITableViewCell{
28 private func setupUI() { 30 private func setupUI() {
29 contentView.backgroundColor = HexColor(kCNDownSlideBackgroundColorHex) 31 contentView.backgroundColor = HexColor(kCNDownSlideBackgroundColorHex)
30 self.contentView.addSubview(self.iconImgView) 32 self.contentView.addSubview(self.iconImgView)
  33 +
31 } 34 }
32 35
33 36
metaCode/Classes/Main/MinePage/ViewModel/CNLiveMineBaseModel.swift
@@ -160,11 +160,14 @@ final class StandListModel: BaseModel {//, TableCodable { @@ -160,11 +160,14 @@ final class StandListModel: BaseModel {//, TableCodable {
160 var createTimeString: String = ""//- 160 var createTimeString: String = ""//-
161 var timeString: String = "" 161 var timeString: String = ""
162 162
  163 + ////自定义属性
163 //电商身份专用 164 //电商身份专用
164 var shopInfoModel: MineApplyShopInfoModel? 165 var shopInfoModel: MineApplyShopInfoModel?
165 166
166 - ///自定义 判断是 0个人+企业 , 1个人, 2企业 3已认证/无企业和个人 167 + ///自定义 判断是 0个人+企业(两个组合) , 1个人, 2企业 3已认证/无企业和个人 , 4个人+企业+机构 5机构
167 var isPersonOrEnterprise: Int = 0 168 var isPersonOrEnterprise: Int = 0
  169 + //身份详情model
  170 + var standInfoBaseModel:MineStandInfoBaseModel?
168 171
169 override func mapping(mapper: HelpingMapper) { 172 override func mapping(mapper: HelpingMapper) {
170 mapper <<< 173 mapper <<<
@@ -222,9 +225,9 @@ final class StandListModel: BaseModel {//, TableCodable { @@ -222,9 +225,9 @@ final class StandListModel: BaseModel {//, TableCodable {
222 225
223 // !!!: /api/identityApi/getIdentity 接口标记 226 // !!!: /api/identityApi/getIdentity 接口标记
224 class MineStandInfoBaseModel: BaseModel { 227 class MineStandInfoBaseModel: BaseModel {
225 - var authInfos = [MineStandInfoModel]()  
226 - var enterpriseAuthInfos = [MineStandInfoModel]()  
227 - var agencyAuthInfos = [MineStandInfoModel]() 228 + var authInfos = [MineStandInfoModel]()//个人认证
  229 + var enterpriseAuthInfos = [MineStandInfoModel]()//企业认证
  230 + var agencyAuthInfos = [MineStandInfoModel]()//机构认证
228 var icon: String? 231 var icon: String?
229 var name: String? 232 var name: String?
230 var identityId: Int = 0 233 var identityId: Int = 0
@@ -241,7 +244,8 @@ class MineStandInfoModel: BaseModel { @@ -241,7 +244,8 @@ class MineStandInfoModel: BaseModel {
241 var sort: Int = 0 244 var sort: Int = 0
242 var name: String?//卡片标签 245 var name: String?//卡片标签
243 var sub_title: String?//报名项说明 246 var sub_title: String?//报名项说明
244 - var inputType: Int = 0//1文本输入 2数字输入 3下拉选择 4认证时间 5认证编码 6正图 7小竖图 8大横图 9单选 10多选 11选项 12时间选择器 13主标题 16大文本框 17弹窗 247 + var inputType: Int = 0//1 文本输入 2数字输入 3下拉选择 4认证时间 5认证编码 6正图 7小竖图 8大横图 9单选 10多选 11选项 12时间选择器 13主标题 16大文本框 17弹窗
  248 + var subTitle: String?//17时弹窗 inputType =17 弹窗; subTitle 返回json image、jumpType 、jumpPath ;jumpType 沿用身份里的类型 ‘1 外链 2原生页面 3店铺详情 4 店铺控制台’ 并新增 ‘5上滑地址 6下滑地址’
245 var nonEmpty: Bool = false 249 var nonEmpty: Bool = false
246 var length: Int = 10 250 var length: Int = 10
247 var children = [MineStandInfoModel]() 251 var children = [MineStandInfoModel]()
@@ -249,9 +253,13 @@ class MineStandInfoModel: BaseModel { @@ -249,9 +253,13 @@ class MineStandInfoModel: BaseModel {
249 var input: Bool = false 253 var input: Bool = false
250 var show: Bool = false 254 var show: Bool = false
251 var value: String? = ""//自己定义的值 255 var value: String? = ""//自己定义的值
252 - var subTitle: String? = ""  
253 256
254 } 257 }
  258 +class MineStandInfoSubTitleModel: BaseModel {
  259 + var image: String? = ""//弹窗图片
  260 + var jumpType: Int = 0//弹窗点击跳转类型
  261 + var jumpPath: String? = ""//弹窗点击跳转地址
  262 +}
255 263
256 // !!!: api/identityApi/myList 数据返回 264 // !!!: api/identityApi/myList 数据返回
257 class MineAuthListBaseModel: BaseModel { 265 class MineAuthListBaseModel: BaseModel {
metaCode/Classes/Main/MinePage/ViewModel/CNLiveMineViewModel.swift
@@ -284,7 +284,7 @@ class CNLiveMineViewModel: NSObject { @@ -284,7 +284,7 @@ class CNLiveMineViewModel: NSObject {
284 CNLiveNetworking.setupCustomParam(custom_param as? [String : String]) 284 CNLiveNetworking.setupCustomParam(custom_param as? [String : String])
285 CNLiveNetworking.setAllowRequestDefaultArgument(true) 285 CNLiveNetworking.setAllowRequestDefaultArgument(true)
286 CNLiveNetworking.setupShowDataResult(false) 286 CNLiveNetworking.setupShowDataResult(false)
287 - CNLiveNetworking.requestNetwork(with: .GET, urlString: APPBaseMCUrl+"/identityApi/allList", param: param as! [String : String], cacheType: .cacheNetwork) { task, result, error in 287 + CNLiveNetworking.requestNetwork(with: .GET, urlString: APPBaseMCUrl+"/identityApi/allList", param: param as! [String : String], cacheType: .networkOnly) { task, result, error in
288 hiddenLoading() 288 hiddenLoading()
289 if (error == nil) { 289 if (error == nil) {
290 let resp = result as! NSDictionary 290 let resp = result as! NSDictionary