Commit 432871843985d803586bcd5323d4cafbb643b611
Merge branch 'master' of http://bj.gitlab.cnlive.com/ios-team/CNLiveMateCode
Showing
12 changed files
with
478 additions
and
95 deletions
Podfile
| ... | ... | @@ -67,11 +67,28 @@ target 'metaCode' do |
| 67 | 67 | # pod 'QMUIKit' |
| 68 | 68 | pod 'YYWebImage', :git => 'https://gitee.com/mirrors/YYWebImage.git' |
| 69 | 69 | |
| 70 | + pod 'WebViewJavascriptBridge' | |
| 71 | + | |
| 70 | 72 | #依赖三方私有库,如果里面有.a的时候加上这个 |
| 71 | 73 | pre_install do |installer| Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {} |
| 72 | 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 | 2070 | CODE_SIGN_ENTITLEMENTS = metaCode/metaCode.entitlements; |
| 2071 | 2071 | CODE_SIGN_IDENTITY = "Apple Development"; |
| 2072 | 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 | 2074 | DEVELOPMENT_TEAM = 94X49GG3ZW; |
| 2075 | 2075 | ENABLE_BITCODE = NO; |
| 2076 | 2076 | ENABLE_MODULE_VERIFIER = NO; |
| ... | ... | @@ -2324,7 +2324,7 @@ |
| 2324 | 2324 | CODE_SIGN_ENTITLEMENTS = metaCode/metaCode.entitlements; |
| 2325 | 2325 | CODE_SIGN_IDENTITY = "Apple Development"; |
| 2326 | 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 | 2328 | DEVELOPMENT_TEAM = 94X49GG3ZW; |
| 2329 | 2329 | ENABLE_BITCODE = NO; |
| 2330 | 2330 | ENABLE_MODULE_VERIFIER = NO; | ... | ... |
metaCode/Classes/Main/HomePage/Controller/AuthMainController/CNMetaCodeHomePageController.swift
| ... | ... | @@ -56,6 +56,9 @@ enum VNumPage { |
| 56 | 56 | |
| 57 | 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 | 63 | ///NewPagedFlowView 开始滑动时的偏移量 |
| 61 | 64 | private var beginOffset = 0.0 |
| ... | ... | @@ -396,9 +399,6 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel |
| 396 | 399 | bannerView?.idModel = identityModel |
| 397 | 400 | if (identityModel.auth == true){ |
| 398 | 401 | bannerView?.baseScrollView.isScrollEnabled = true |
| 399 | - if identityModel.id == 9{ | |
| 400 | - self.getApplyShopInfo() | |
| 401 | - } | |
| 402 | 402 | }else{ |
| 403 | 403 | //未认证 |
| 404 | 404 | if (identityModel.downType == 3 || identityModel.downType == 4 || identityModel.upType == 3 || identityModel.upType == 4) |
| ... | ... | @@ -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 | 414 | self.getApplyShopInfo() |
| 414 | 415 | } |
| 415 | 416 | } |
| ... | ... | @@ -626,7 +627,7 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel |
| 626 | 627 | { |
| 627 | 628 | // showLoading(message: "") |
| 628 | 629 | CNLiveMineViewModel.requestAuthStandList(page: 1) |
| 629 | - { result, respStatue in | |
| 630 | + { [self] result, respStatue in | |
| 630 | 631 | |
| 631 | 632 | hiddenLoading() |
| 632 | 633 | if respStatue == .success{ |
| ... | ... | @@ -636,10 +637,9 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel |
| 636 | 637 | |
| 637 | 638 | self.dataArray = NSMutableArray.init() |
| 638 | 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 | 644 | listArray.forEach { standListModel in |
| 645 | 645 | let listModel = standListModel as! StandListModel |
| ... | ... | @@ -648,9 +648,16 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel |
| 648 | 648 | listModel.isPersonOrEnterprise = 3 |
| 649 | 649 | }else{ |
| 650 | 650 | //未认证 |
| 651 | + isAllAuthed = false | |
| 651 | 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 | 662 | }else{ |
| 656 | 663 | self.NetApiStatus = .apiError |
| ... | ... | @@ -665,58 +672,69 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel |
| 665 | 672 | } |
| 666 | 673 | } |
| 667 | 674 | |
| 668 | - // MARK: - 获取身份信息是个人认证还是企业认证 | |
| 675 | + // MARK: - 获取身份信息是个人认证还是企业认证,机构认证 | |
| 669 | 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 | 678 | hiddenLoading() |
| 672 | 679 | if respStatue == .success{ |
| 673 | 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 | 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 | 738 | }else{ |
| 721 | 739 | //网络请求失败 |
| 722 | 740 | } |
| ... | ... | @@ -733,8 +751,10 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel |
| 733 | 751 | for (index, item) in self!.dataArray.enumerated() { |
| 734 | 752 | let model = item as! StandListModel |
| 735 | 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 | 269 | return 75 |
| 270 | 270 | }else if self.slideModel?.type == SlideModelTypeOneCourse75{ |
| 271 | 271 | //大图课程 |
| 272 | - return KSreenWidth | |
| 272 | + return KSreenWidth*(KSreenWidth/DownSlideSingleCourseW) | |
| 273 | 273 | } |
| 274 | 274 | } |
| 275 | 275 | }else{ | ... | ... |
metaCode/Classes/Main/HomePage/Controller/DownSlideController/CNUpSlideViewController.swift
| ... | ... | @@ -131,7 +131,6 @@ class CNUpSlideViewController: CNLiveBaseViewController,UITableViewDelegate,UITa |
| 131 | 131 | guard let cell = tableView.dequeueReusableCell(withIdentifier: kCNLiveDownSlideSingleCourseCellIdentifier) as? CNDownSlideSingleCourseCell |
| 132 | 132 | else { |
| 133 | 133 | let cell = CNDownSlideSingleCourseCell() |
| 134 | - cell.slideModel = slideModel | |
| 135 | 134 | return cell |
| 136 | 135 | } |
| 137 | 136 | cell.slideModel = slideModel | ... | ... |
metaCode/Classes/Main/HomePage/View/VerticalViews/DownSlide/CNDownSlideView.swift
| ... | ... | @@ -149,14 +149,14 @@ class CNDownSlideView:UIView{ |
| 149 | 149 | override init(frame: CGRect) { |
| 150 | 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 | 155 | self.initUI() |
| 156 | 156 | } |
| 157 | -// @objc func slideViewTap() { | |
| 158 | -// print("slideViewTap") | |
| 159 | -// } | |
| 157 | + @objc func slideViewTap() { | |
| 158 | + print("slideViewTap") | |
| 159 | + } | |
| 160 | 160 | required init?(coder: NSCoder) { |
| 161 | 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 | 77 | ///当前在屏幕显示的view |
| 78 | 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 | 85 | // MARK: - 初始化 |
| ... | ... | @@ -103,7 +103,7 @@ class CNHomePageBackgroupView: UIView{ |
| 103 | 103 | let obj:UIView = array[i] |
| 104 | 104 | obj.removeFromSuperview() |
| 105 | 105 | } |
| 106 | - self.dataArray = Array<CNHomePageBackgroupSubView>() | |
| 106 | + self.groupSubViewDataArray = Array<CNHomePageBackgroupSubView>() | |
| 107 | 107 | |
| 108 | 108 | for i in (0..<idArray.count){ |
| 109 | 109 | |
| ... | ... | @@ -117,11 +117,11 @@ class CNHomePageBackgroupView: UIView{ |
| 117 | 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 | 121 | lastSubView?.nextSubView = subView |
| 122 | 122 | subView.preSubView = lastSubView |
| 123 | 123 | |
| 124 | - self.dataArray.append(subView) | |
| 124 | + self.groupSubViewDataArray.append(subView) | |
| 125 | 125 | |
| 126 | 126 | if i==0 { |
| 127 | 127 | self.currentApearView = subView |
| ... | ... | @@ -130,7 +130,7 @@ class CNHomePageBackgroupView: UIView{ |
| 130 | 130 | } |
| 131 | 131 | |
| 132 | 132 | //倒序添加子view |
| 133 | - for i in self.dataArray.enumerated().reversed() { | |
| 133 | + for i in self.groupSubViewDataArray.enumerated().reversed() { | |
| 134 | 134 | |
| 135 | 135 | let subview: CNHomePageBackgroupSubView = i.element |
| 136 | 136 | self.addSubview(subview) |
| ... | ... | @@ -148,14 +148,14 @@ class CNHomePageBackgroupView: UIView{ |
| 148 | 148 | if(currentApearViewIndex == 0){ |
| 149 | 149 | return nil |
| 150 | 150 | } |
| 151 | - return dataArray[currentApearViewIndex - 1] | |
| 151 | + return groupSubViewDataArray[currentApearViewIndex - 1] | |
| 152 | 152 | } |
| 153 | 153 | ///获取当前视图右边的子视图 |
| 154 | 154 | func getRightView()->CNHomePageBackgroupSubView?{ |
| 155 | - if(currentApearViewIndex >= self.dataArray.count - 1){ | |
| 155 | + if(currentApearViewIndex >= self.groupSubViewDataArray.count - 1){ | |
| 156 | 156 | return nil |
| 157 | 157 | } |
| 158 | - return dataArray[currentApearViewIndex + 1] | |
| 158 | + return groupSubViewDataArray[currentApearViewIndex + 1] | |
| 159 | 159 | } |
| 160 | 160 | |
| 161 | 161 | /// 替换当前显示的子view | ... | ... |
metaCode/Classes/Main/HomePage/View/VerticalViews/MainView/CNMainView.swift
| ... | ... | @@ -16,12 +16,14 @@ let KTransformAnimationTime:CGFloat = 0.75; |
| 16 | 16 | class CNFrontMainView : UIView{ |
| 17 | 17 | ///点击反转事件 |
| 18 | 18 | var tapTransformAciton:closureBlock? |
| 19 | - | |
| 19 | + let delegate = UIApplication.shared.delegate as! AppDelegate | |
| 20 | + var standInfoSubTitleModel:MineStandInfoSubTitleModel?//17时弹窗的跳转model | |
| 21 | + | |
| 20 | 22 | override init(frame: CGRect) { |
| 21 | 23 | super.init(frame: frame) |
| 22 | 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 | 29 | required init?(coder: NSCoder) { |
| ... | ... | @@ -75,7 +77,15 @@ class CNFrontMainView : UIView{ |
| 75 | 77 | make.width.equalTo(120) |
| 76 | 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 | 90 | frontDescContentView.addSubview(self.textView) |
| 81 | 91 | textView.snp.makeConstraints { make in |
| ... | ... | @@ -105,7 +115,7 @@ class CNFrontMainView : UIView{ |
| 105 | 115 | return textView |
| 106 | 116 | }() |
| 107 | 117 | |
| 108 | - ///未认证-店铺认证 按钮 | |
| 118 | + ///未认证-店铺认证 按钮(一个按钮时) | |
| 109 | 119 | lazy var addStandBtn: UIButton = { |
| 110 | 120 | let addStandBtn = UIButton(type: .custom) |
| 111 | 121 | addStandBtn.clipsToBounds = true |
| ... | ... | @@ -118,7 +128,7 @@ class CNFrontMainView : UIView{ |
| 118 | 128 | return addStandBtn |
| 119 | 129 | }() |
| 120 | 130 | |
| 121 | - ///未认证-个人认证 按钮 | |
| 131 | + ///未认证-个人认证 按钮(两个按钮时第一个) | |
| 122 | 132 | lazy var personalStandBtn: UIButton = { |
| 123 | 133 | let personalStandBtn = UIButton(type: .custom) |
| 124 | 134 | personalStandBtn.layer.cornerRadius = 19.5 |
| ... | ... | @@ -127,9 +137,10 @@ class CNFrontMainView : UIView{ |
| 127 | 137 | personalStandBtn.setTitleColor(HexColor("#FFFFFF"), for: .normal) |
| 128 | 138 | personalStandBtn.titleLabel?.font = UIFont.init(name: "PingFangSC-Medium", size: 14) |
| 129 | 139 | personalStandBtn.addTarget(self, action: #selector(personalStandBtnAction), for: .touchUpInside) |
| 140 | + personalStandBtn.isHidden = true | |
| 130 | 141 | return personalStandBtn |
| 131 | 142 | }() |
| 132 | - ///未认证-企业认证 按钮 | |
| 143 | + ///未认证-企业认证 按钮(两个按钮时第二个) | |
| 133 | 144 | lazy var enterpriseStandBtn: UIButton = { |
| 134 | 145 | let enterpriseStandBtn = UIButton(type: .custom) |
| 135 | 146 | enterpriseStandBtn.layer.cornerRadius = 19.5 |
| ... | ... | @@ -138,9 +149,120 @@ class CNFrontMainView : UIView{ |
| 138 | 149 | enterpriseStandBtn.setTitleColor(HexColor("#FFFFFF"), for: .normal) |
| 139 | 150 | enterpriseStandBtn.titleLabel?.font = UIFont.init(name: "PingFangSC-Medium", size: 14) |
| 140 | 151 | enterpriseStandBtn.addTarget(self, action: #selector(enterpriseStandBtnAction), for: .touchUpInside) |
| 152 | + enterpriseStandBtn.isHidden = true | |
| 141 | 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 | 266 | //上滑更多Gif |
| 145 | 267 | lazy var upMoreGIF: UIImageView = { |
| 146 | 268 | let upMoreGIF = UIImageView() |
| ... | ... | @@ -154,6 +276,7 @@ class CNFrontMainView : UIView{ |
| 154 | 276 | return downMoreGIF |
| 155 | 277 | }() |
| 156 | 278 | |
| 279 | + // MARK: - 已认证 | |
| 157 | 280 | ///已认证-前置视图卡片容器 |
| 158 | 281 | lazy var frontCardContentView : UIView = { |
| 159 | 282 | |
| ... | ... | @@ -220,10 +343,9 @@ class CNFrontMainView : UIView{ |
| 220 | 343 | self.addStandBtn.isHidden = true |
| 221 | 344 | self.iDCardView.idModel = newValue! |
| 222 | 345 | cardViewBgImgView.kf.setImage(with: URL(string: _idModel!.cardBackgroundImg), placeholder: UIImage(named: "homepage_cardBGImg")) |
| 223 | - | |
| 224 | - | |
| 225 | 346 | //隐藏textview |
| 226 | 347 | textView.isHidden = true |
| 348 | + unStandBtnBgView.isHidden = true | |
| 227 | 349 | |
| 228 | 350 | if frontCardContentView.contains(self.upMoreGIF){ |
| 229 | 351 | self.upMoreGIF.removeFromSuperview() |
| ... | ... | @@ -269,6 +391,7 @@ class CNFrontMainView : UIView{ |
| 269 | 391 | self.addStandBtn.isHidden = false |
| 270 | 392 | self.personalStandBtn.isHidden = true |
| 271 | 393 | self.enterpriseStandBtn.isHidden = true |
| 394 | + self.unStandBtnBgView.isHidden = true | |
| 272 | 395 | self.addStandBtn.isUserInteractionEnabled = true |
| 273 | 396 | if idModel?.shopInfoModel?.state == "0" || idModel?.shopInfoModel?.state == "4"{ |
| 274 | 397 | //0未申请 //4闭店 |
| ... | ... | @@ -293,30 +416,63 @@ class CNFrontMainView : UIView{ |
| 293 | 416 | upMoreGIF.isHidden = false |
| 294 | 417 | downMoreGIF.isHidden = false |
| 295 | 418 | |
| 296 | - if idModel?.isPersonOrEnterprise == 0{//企业+个人 | |
| 419 | + if idModel?.isPersonOrEnterprise == 0{//企业+个人等 2个按钮 | |
| 297 | 420 | self.addStandBtn.isHidden = true |
| 298 | 421 | self.personalStandBtn.isHidden = false |
| 299 | 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 | 440 | }else if idModel?.isPersonOrEnterprise == 1{//个人 |
| 301 | 441 | self.addStandBtn.isHidden = false |
| 302 | 442 | self.addStandBtn.setTitle("个人认证", for: .normal) |
| 303 | 443 | self.personalStandBtn.isHidden = true |
| 304 | 444 | self.enterpriseStandBtn.isHidden = true |
| 445 | + self.unStandBtnBgView.isHidden = true | |
| 305 | 446 | }else if idModel?.isPersonOrEnterprise == 2{//企业 |
| 306 | 447 | self.addStandBtn.isHidden = false |
| 307 | 448 | self.addStandBtn.setTitle("企业认证", for: .normal) |
| 308 | 449 | self.personalStandBtn.isHidden = true |
| 309 | 450 | self.enterpriseStandBtn.isHidden = true |
| 451 | + self.unStandBtnBgView.isHidden = true | |
| 310 | 452 | }else if idModel?.isPersonOrEnterprise == 3{//已认证/无企业和个人 |
| 311 | 453 | //不显示认证按钮 |
| 312 | 454 | self.addStandBtn.isHidden = true |
| 313 | 455 | self.personalStandBtn.isHidden = true |
| 314 | 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 | 470 | }else{ |
| 316 | 471 | //不显示认证按钮 |
| 317 | 472 | self.addStandBtn.isHidden = true |
| 318 | 473 | self.personalStandBtn.isHidden = false |
| 319 | 474 | self.enterpriseStandBtn.isHidden = false |
| 475 | + self.unStandBtnBgView.isHidden = true | |
| 320 | 476 | } |
| 321 | 477 | } |
| 322 | 478 | |
| ... | ... | @@ -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 | 545 | func initUI() |
| 361 | 546 | { |
| 362 | 547 | self.addSubview(self.frontTotolContentView) |
| ... | ... | @@ -371,11 +556,12 @@ class CNFrontMainView : UIView{ |
| 371 | 556 | |
| 372 | 557 | // MARK: -按钮点击事件 |
| 373 | 558 | @objc func tapAction(){ |
| 374 | - tapTransformAciton!() | |
| 559 | + //翻转到反面 | |
| 560 | +// tapTransformAciton!() | |
| 375 | 561 | } |
| 376 | 562 | |
| 377 | 563 | @objc func addStandBtnAction() { |
| 378 | - //跳转到 电商认证 / 个人 / 企业 | |
| 564 | + //跳转到 电商认证 / 个人 / 企业 / 机构 | |
| 379 | 565 | self.pushStandVC(isPersonOrEnterprise: 3) |
| 380 | 566 | } |
| 381 | 567 | @objc func personalStandBtnAction() { |
| ... | ... | @@ -387,6 +573,71 @@ class CNFrontMainView : UIView{ |
| 387 | 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 | 641 | func pushStandVC(isPersonOrEnterprise:Int){ |
| 391 | 642 | //跳转到 个人认证&企业认证 页面 |
| 392 | 643 | if _idModel!.id == 9 { |
| ... | ... | @@ -405,18 +656,98 @@ class CNFrontMainView : UIView{ |
| 405 | 656 | //企业 |
| 406 | 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 | 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 | 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 | 692 | }else{ |
| 415 | 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 | 753 | ///反面View | ... | ... |
metaCode/Classes/Main/HomePage/View/VerticalViews/UpSlide/CNUpSlideView.swift
| ... | ... | @@ -12,6 +12,8 @@ let UpDownTypeH5 = 1///h5 |
| 12 | 12 | let UpDownTypePage = 2///原生page页面 |
| 13 | 13 | let UpDownTypeShopDetail = 3///店铺详情 |
| 14 | 14 | let UpDownTypeShopControlConsole = 4///店铺控制台 |
| 15 | +let UpDownTypeAuthAlertUp = 5///上滑地址 认证-弹窗 | |
| 16 | +let UpDownTypeAuthAlertDown = 6///下滑地址 认证-弹窗 | |
| 15 | 17 | |
| 16 | 18 | ///上滑显示的VIew |
| 17 | 19 | class CNUpSlideView:UIView{ |
| ... | ... | @@ -44,6 +46,9 @@ class CNUpSlideView:UIView{ |
| 44 | 46 | } |
| 45 | 47 | set{ |
| 46 | 48 | _downPath = newValue! |
| 49 | + self.subviews.forEach { view in | |
| 50 | + view.removeFromSuperview() | |
| 51 | + } | |
| 47 | 52 | if(type == UpDownTypeH5){ |
| 48 | 53 | self.addSubview(self.webView) |
| 49 | 54 | if (_downPath != ""){ | ... | ... |
metaCode/Classes/Main/HomePages/View/HomepageDetail/CNLiveAlbumImageCell.swift
| ... | ... | @@ -11,7 +11,9 @@ class CNLiveAlbumImageCell:UITableViewCell{ |
| 11 | 11 | |
| 12 | 12 | //MARK: - 懒加载 |
| 13 | 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 | 17 | return iconImgView |
| 16 | 18 | }() |
| 17 | 19 | |
| ... | ... | @@ -28,6 +30,7 @@ class CNLiveAlbumImageCell:UITableViewCell{ |
| 28 | 30 | private func setupUI() { |
| 29 | 31 | contentView.backgroundColor = HexColor(kCNDownSlideBackgroundColorHex) |
| 30 | 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 | 160 | var createTimeString: String = ""//- |
| 161 | 161 | var timeString: String = "" |
| 162 | 162 | |
| 163 | + ////自定义属性 | |
| 163 | 164 | //电商身份专用 |
| 164 | 165 | var shopInfoModel: MineApplyShopInfoModel? |
| 165 | 166 | |
| 166 | - ///自定义 判断是 0个人+企业 , 1个人, 2企业 3已认证/无企业和个人 | |
| 167 | + ///自定义 判断是 0个人+企业(两个组合) , 1个人, 2企业 3已认证/无企业和个人 , 4个人+企业+机构 5机构 | |
| 167 | 168 | var isPersonOrEnterprise: Int = 0 |
| 169 | + //身份详情model | |
| 170 | + var standInfoBaseModel:MineStandInfoBaseModel? | |
| 168 | 171 | |
| 169 | 172 | override func mapping(mapper: HelpingMapper) { |
| 170 | 173 | mapper <<< |
| ... | ... | @@ -222,9 +225,9 @@ final class StandListModel: BaseModel {//, TableCodable { |
| 222 | 225 | |
| 223 | 226 | // !!!: /api/identityApi/getIdentity 接口标记 |
| 224 | 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 | 231 | var icon: String? |
| 229 | 232 | var name: String? |
| 230 | 233 | var identityId: Int = 0 |
| ... | ... | @@ -241,7 +244,8 @@ class MineStandInfoModel: BaseModel { |
| 241 | 244 | var sort: Int = 0 |
| 242 | 245 | var name: String?//卡片标签 |
| 243 | 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 | 249 | var nonEmpty: Bool = false |
| 246 | 250 | var length: Int = 10 |
| 247 | 251 | var children = [MineStandInfoModel]() |
| ... | ... | @@ -249,9 +253,13 @@ class MineStandInfoModel: BaseModel { |
| 249 | 253 | var input: Bool = false |
| 250 | 254 | var show: Bool = false |
| 251 | 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 | 264 | // !!!: api/identityApi/myList 数据返回 |
| 257 | 265 | class MineAuthListBaseModel: BaseModel { | ... | ... |
metaCode/Classes/Main/MinePage/ViewModel/CNLiveMineViewModel.swift
| ... | ... | @@ -284,7 +284,7 @@ class CNLiveMineViewModel: NSObject { |
| 284 | 284 | CNLiveNetworking.setupCustomParam(custom_param as? [String : String]) |
| 285 | 285 | CNLiveNetworking.setAllowRequestDefaultArgument(true) |
| 286 | 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 | 288 | hiddenLoading() |
| 289 | 289 | if (error == nil) { |
| 290 | 290 | let resp = result as! NSDictionary | ... | ... |