Commit afce10340f33d70e5ed86a78469a89cf16124a08
1 parent
87ff1164
多次刷新banner重复问题 , 接口错误,无网页面
Showing
6 changed files
with
226 additions
and
144 deletions
metaCode/Classes/Common/Base/CNLiveBaseTabBarViewController.swift
| @@ -19,8 +19,8 @@ class CNTabBar:UITabBar{ | @@ -19,8 +19,8 @@ class CNTabBar:UITabBar{ | ||
| 19 | //我们需要在age属性发生变化后,更新一下nickName这个属性 | 19 | //我们需要在age属性发生变化后,更新一下nickName这个属性 |
| 20 | didSet | 20 | didSet |
| 21 | { | 21 | { |
| 22 | - print("frame = ", frame) | ||
| 23 | - print("完成") | 22 | +// print("frame = ", frame) |
| 23 | +// print("完成") | ||
| 24 | } | 24 | } |
| 25 | } | 25 | } |
| 26 | } | 26 | } |
metaCode/Classes/Main/HomePage/Controller/CNMetaCodeHomePageController.swift
| @@ -18,33 +18,91 @@ let CNKeyIsFirstAppearUpSlideHomeGuide: String = "isFirstAppearUpSlideHomeGuideK | @@ -18,33 +18,91 @@ let CNKeyIsFirstAppearUpSlideHomeGuide: String = "isFirstAppearUpSlideHomeGuideK | ||
| 18 | ///存储是否第一次显示首页下滑引导 | 18 | ///存储是否第一次显示首页下滑引导 |
| 19 | let CNKeyIsFirstAppearDownSlideHomeGuide: String = "isFirstAppearDownSlideHomeGuideKey" | 19 | let CNKeyIsFirstAppearDownSlideHomeGuide: String = "isFirstAppearDownSlideHomeGuideKey" |
| 20 | 20 | ||
| 21 | -///用户身份认证状态 | ||
| 22 | -enum UserIdentityStatus { | ||
| 23 | - ///未认证 | ||
| 24 | - case notCertified | ||
| 25 | - ///已经认证 | ||
| 26 | - case haveBeenCertified | 21 | +/////用户身份认证状态 |
| 22 | +//enum UserIdentityStatus { | ||
| 23 | +// ///未认证 | ||
| 24 | +// case notCertified | ||
| 25 | +// ///已经认证 | ||
| 26 | +// case haveBeenCertified | ||
| 27 | +//} | ||
| 28 | + | ||
| 29 | +///数据状态 | ||
| 30 | +enum NetAPIStatus { | ||
| 31 | + ///接口成功 | ||
| 32 | + case success | ||
| 33 | + ///接口错误 | ||
| 34 | + case apiError | ||
| 35 | + ///无网络 | ||
| 36 | + case notNetwork | ||
| 27 | } | 37 | } |
| 28 | 38 | ||
| 29 | class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDelegate, NewPagedFlowViewDataSource, CNCustomIndexViewDelegate{ | 39 | class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDelegate, NewPagedFlowViewDataSource, CNCustomIndexViewDelegate{ |
| 30 | 40 | ||
| 31 | - ///添加认证View | ||
| 32 | - lazy var addCertificationView: CNCertificationView = { | ||
| 33 | - let addCertificationView = CNCertificationView(frame: self.view.bounds) | 41 | + |
| 42 | + ///NewPagedFlowView 开始滑动时的偏移量 | ||
| 43 | + private var beginOffset = 0.0 | ||
| 44 | + ///tabBar 的Y坐标位置 | ||
| 45 | + private var tabBarY:CGFloat = 0.0 | ||
| 46 | + | ||
| 47 | + ///用户身份认证状态 | ||
| 48 | +// private var identityStatus: UserIdentityStatus = .notCertified | ||
| 49 | + ///接口状态 | ||
| 50 | + private var NetApiStatus: NetAPIStatus = .apiError | ||
| 51 | + | ||
| 52 | + // MARK: - 懒加载 | ||
| 53 | + ///数据源 | ||
| 54 | + lazy var dataArray: NSMutableArray = { | ||
| 34 | 55 | ||
| 35 | - addCertificationView.addCertificationAction = { | ||
| 36 | - [weak self] in | ||
| 37 | - print("添加认证") | ||
| 38 | - //模拟认证成功刷新主页面 | ||
| 39 | - let time = DispatchTime.now() + 2.0 | ||
| 40 | - DispatchQueue.main.asyncAfter(deadline: time, execute: DispatchWorkItem(block: { | ||
| 41 | - self?.addCertificationView.isHidden = true | ||
| 42 | - self?.addCertificationView.removeFromSuperview() | ||
| 43 | - self?.addPageView() | ||
| 44 | - })) | ||
| 45 | - } | ||
| 46 | - return addCertificationView | 56 | + return NSMutableArray.init() |
| 57 | + }() | ||
| 58 | + | ||
| 59 | + ///无网.接口失败View | ||
| 60 | + lazy var notNetworkView: UIView = { | ||
| 61 | + let W = Width-50 | ||
| 62 | + let H = W*1.5 | ||
| 63 | + let notNetworkView = UIView.init(frame: CGRect(x: 25, y: KSreenHeight*0.16, width: W, height: H )) | ||
| 64 | + notNetworkView.backgroundColor = UIColor.white | ||
| 65 | + notNetworkView.clipsToBounds = true | ||
| 66 | + notNetworkView.layer.cornerRadius = 20 | ||
| 67 | + | ||
| 68 | + //接口错误Label | ||
| 69 | + | ||
| 70 | + return notNetworkView | ||
| 71 | + }() | ||
| 72 | + | ||
| 73 | + //接口错误图片 | ||
| 74 | + lazy var errorImgView: UIImageView = { | ||
| 75 | + let errorImgView = UIImageView.init(image: UIImage(named: "mine_list_source_unusual_failed")) | ||
| 76 | + errorImgView.contentMode = .scaleToFill | ||
| 77 | + return errorImgView | ||
| 47 | }() | 78 | }() |
| 79 | + | ||
| 80 | + //接口错误Label | ||
| 81 | + lazy var errorLabel: UILabel = { | ||
| 82 | + let errorLabel = UILabel.init() | ||
| 83 | + errorLabel.textColor = HexColor("#666666") | ||
| 84 | + errorLabel.textAlignment = .center | ||
| 85 | + errorLabel.font = Font(15) | ||
| 86 | + errorLabel.backgroundColor = .clear | ||
| 87 | + errorLabel.text = "网络开小差了,刷新试试~" | ||
| 88 | + return errorLabel | ||
| 89 | + }() | ||
| 90 | + | ||
| 91 | + //接口错误刷新按钮 | ||
| 92 | + lazy var errorFreshButton : UIButton = { | ||
| 93 | + let errorFreshButton = UIButton(type: .custom) | ||
| 94 | + errorFreshButton.backgroundColor = .clear | ||
| 95 | + errorFreshButton.addTarget(self, action: #selector(errorFreshButtonAction), for: .touchUpInside) | ||
| 96 | + errorFreshButton.layer.borderColor = HexColor("#609BFF")?.cgColor | ||
| 97 | + errorFreshButton.layer.borderWidth = 0.5 | ||
| 98 | + errorFreshButton.setTitle("刷新", for:.normal) | ||
| 99 | + errorFreshButton.titleLabel?.font = Font(13) | ||
| 100 | + errorFreshButton.setTitleColor(HexColor("#609BFF"), for: .normal) | ||
| 101 | + errorFreshButton.clipsToBounds = true | ||
| 102 | + errorFreshButton.layer.cornerRadius = 10.5 | ||
| 103 | + return errorFreshButton | ||
| 104 | + }() | ||
| 105 | + | ||
| 48 | ///上滑引导View | 106 | ///上滑引导View |
| 49 | lazy var upSlideGuideView:CNHomePageGuideView = { | 107 | lazy var upSlideGuideView:CNHomePageGuideView = { |
| 50 | let upSlideGuideView = CNHomePageGuideView.init(frame: UIScreen.main.bounds) | 108 | let upSlideGuideView = CNHomePageGuideView.init(frame: UIScreen.main.bounds) |
| @@ -91,22 +149,6 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel | @@ -91,22 +149,6 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel | ||
| 91 | return gif | 149 | return gif |
| 92 | }() | 150 | }() |
| 93 | 151 | ||
| 94 | - | ||
| 95 | - ///NewPagedFlowView 开始滑动时的偏移量 | ||
| 96 | - private var beginOffset = 0.0 | ||
| 97 | - ///tabBar 的Y坐标位置 | ||
| 98 | - private var tabBarY:CGFloat = 0.0 | ||
| 99 | - | ||
| 100 | - ///用户身份认证状态 | ||
| 101 | - private var identityStatus: UserIdentityStatus = .notCertified | ||
| 102 | - | ||
| 103 | - // MARK: - 懒加载 | ||
| 104 | - ///数据源 | ||
| 105 | - lazy var dataArray: NSMutableArray = { | ||
| 106 | - | ||
| 107 | - return NSMutableArray.init() | ||
| 108 | - }() | ||
| 109 | - | ||
| 110 | ///左右滑动分页view | 152 | ///左右滑动分页view |
| 111 | lazy var pageFlowView: NewPagedFlowView = { | 153 | lazy var pageFlowView: NewPagedFlowView = { |
| 112 | let pageFlowView = NewPagedFlowView.init(frame: CGRectMake(0, 0, Width, Height)) | 154 | let pageFlowView = NewPagedFlowView.init(frame: CGRectMake(0, 0, Width, Height)) |
| @@ -150,43 +192,7 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel | @@ -150,43 +192,7 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel | ||
| 150 | super.viewWillAppear(animated) | 192 | super.viewWillAppear(animated) |
| 151 | 193 | ||
| 152 | print("uid = ",UserInfoManager.shared.userInfo.uid) | 194 | print("uid = ",UserInfoManager.shared.userInfo.uid) |
| 153 | - print("1111") | ||
| 154 | - | ||
| 155 | -// let db = CNIdentityDB() | ||
| 156 | -// | ||
| 157 | -// | ||
| 158 | -// let model = CNIdentityModel() | ||
| 159 | -// model.id = "q_123" | ||
| 160 | -// model.name = "小米" | ||
| 161 | -// db.insterObject(object: model) | ||
| 162 | -// | ||
| 163 | -// let model2 = CNIdentityModel() | ||
| 164 | -// model2.id = "a_451" | ||
| 165 | -// model2.name = "小明" | ||
| 166 | -// db.insterObject(object: model2) | ||
| 167 | -// | ||
| 168 | -// let model4 = CNIdentityModel() | ||
| 169 | -// model4.id = "3_234" | ||
| 170 | -// model4.name = "小张" | ||
| 171 | -// db.insterObject(object: model4) | ||
| 172 | -// | ||
| 173 | -// | ||
| 174 | -// let time:DispatchTime = DispatchTime.now() + 2.0 | ||
| 175 | -// DispatchQueue.main.asyncAfter(deadline: time, execute: DispatchWorkItem(block: { | ||
| 176 | -// | ||
| 177 | -// let modelNew = CNIdentityModel() | ||
| 178 | -// modelNew.id = "a_451" | ||
| 179 | -// modelNew.name = "小张" | ||
| 180 | -// modelNew.icon = "http://apple.com" | ||
| 181 | -// modelNew.createTime = "1234555223" | ||
| 182 | -// modelNew.enable = true | ||
| 183 | -// db.updateObject(newObject: modelNew) | ||
| 184 | -// | ||
| 185 | -// let allData = CNIdentityDB().searchAllObject() | ||
| 186 | -// print(allData) | ||
| 187 | -// | ||
| 188 | -// })) | ||
| 189 | - | 195 | + self.getUserIdentityApi() |
| 190 | 196 | ||
| 191 | } | 197 | } |
| 192 | override func viewDidAppear(_ animated: Bool) { | 198 | override func viewDidAppear(_ animated: Bool) { |
| @@ -201,15 +207,51 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel | @@ -201,15 +207,51 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel | ||
| 201 | func setupUI(){ | 207 | func setupUI(){ |
| 202 | self.view.backgroundColor = KVCBackgroupColor | 208 | self.view.backgroundColor = KVCBackgroupColor |
| 203 | self.view.addSubview(self.backgroupView) | 209 | self.view.addSubview(self.backgroupView) |
| 210 | + self.view.addSubview(self.notNetworkView) | ||
| 211 | + self.notNetworkView.addSubview(self.errorImgView) | ||
| 212 | + self.notNetworkView.addSubview(self.errorLabel) | ||
| 213 | + self.notNetworkView.addSubview(self.errorFreshButton) | ||
| 214 | + | ||
| 215 | + self.makeConstraints() | ||
| 204 | 216 | ||
| 205 | - switch self.identityStatus{ | ||
| 206 | - | ||
| 207 | - case .notCertified: | ||
| 208 | - self.view.addSubview(self.addCertificationView) | ||
| 209 | - case .haveBeenCertified: | ||
| 210 | - self.addPageView() | 217 | +// switch self.identityStatus{ |
| 218 | +// | ||
| 219 | +// case .notCertified: | ||
| 220 | +// self.view.addSubview(self.addCertificationView) | ||
| 221 | +// case .haveBeenCertified: | ||
| 222 | +// self.addPageView() | ||
| 223 | +// } | ||
| 224 | + | ||
| 225 | + } | ||
| 226 | + | ||
| 227 | + // MARK: - <##>按钮点击事件 | ||
| 228 | + //无网时刷新 | ||
| 229 | + @objc func errorFreshButtonAction(){ | ||
| 230 | + self.getUserIdentityApi() | ||
| 231 | + } | ||
| 232 | + | ||
| 233 | + // MARK: - <##>添加约束 | ||
| 234 | + func makeConstraints(){ | ||
| 235 | + self.errorImgView.snp.makeConstraints { make in | ||
| 236 | + make.centerX.equalToSuperview() | ||
| 237 | + make.centerY.equalToSuperview().offset(-60) | ||
| 238 | + make.width.equalTo(190.5) | ||
| 239 | + make.height.equalTo(100) | ||
| 240 | + } | ||
| 241 | + | ||
| 242 | + self.errorLabel.snp.makeConstraints { make in | ||
| 243 | + make.centerX.equalToSuperview() | ||
| 244 | + make.top.equalTo(errorImgView.snp.bottom).offset(10.5) | ||
| 245 | + make.width.equalToSuperview() | ||
| 246 | + make.height.equalTo(21) | ||
| 247 | + } | ||
| 248 | + | ||
| 249 | + self.errorFreshButton.snp.makeConstraints { make in | ||
| 250 | + make.centerX.equalToSuperview() | ||
| 251 | + make.top.equalTo(errorLabel.snp.bottom).offset(15) | ||
| 252 | + make.width.equalTo(60) | ||
| 253 | + make.height.equalTo(26) | ||
| 211 | } | 254 | } |
| 212 | - | ||
| 213 | 255 | ||
| 214 | } | 256 | } |
| 215 | 257 | ||
| @@ -281,7 +323,6 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel | @@ -281,7 +323,6 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel | ||
| 281 | 323 | ||
| 282 | if(currentOffset > beginOffset){ | 324 | if(currentOffset > beginOffset){ |
| 283 | 325 | ||
| 284 | - | ||
| 285 | if let rightView = self.backgroupView.getRightView(){ | 326 | if let rightView = self.backgroupView.getRightView(){ |
| 286 | 327 | ||
| 287 | if let currentApearView = self.backgroupView.currentApearView{ | 328 | if let currentApearView = self.backgroupView.currentApearView{ |
| @@ -382,52 +423,59 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel | @@ -382,52 +423,59 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel | ||
| 382 | } | 423 | } |
| 383 | } | 424 | } |
| 384 | //MARK: - 网络请求获取身份列表 | 425 | //MARK: - 网络请求获取身份列表 |
| 385 | - func getUserIdentityApi(){ | ||
| 386 | - CNLiveMineViewModel.requestAuthStandList(page: 1) { result, respStatue in | 426 | + func getUserIdentityApi() |
| 427 | + { | ||
| 428 | + CNLiveMineViewModel.requestAuthStandList(page: 1) | ||
| 429 | + { result, respStatue in | ||
| 430 | + | ||
| 387 | if respStatue == .success{ | 431 | if respStatue == .success{ |
| 432 | + self.NetApiStatus = .success | ||
| 388 | let listArray:NSArray = (result as! StandListBaseModel).list as NSArray | 433 | let listArray:NSArray = (result as! StandListBaseModel).list as NSArray |
| 389 | if (listArray.count > 0){ | 434 | if (listArray.count > 0){ |
| 390 | - self.addCertificationView.isHidden = true | ||
| 391 | - self.addCertificationView.removeFromSuperview() | 435 | +// self.addCertificationView.isHidden = true |
| 436 | +// self.addCertificationView.removeFromSuperview() | ||
| 437 | + self.dataArray = NSMutableArray.init() | ||
| 392 | self.dataArray.addObjects(from: listArray as! [Any]) | 438 | self.dataArray.addObjects(from: listArray as! [Any]) |
| 393 | self.addPageView() | 439 | self.addPageView() |
| 394 | - self.identityStatus = .haveBeenCertified | 440 | + |
| 441 | +// self.identityStatus = .haveBeenCertified | ||
| 395 | self.backgroupView.updateData(idArray: listArray as! Array<StandListModel>) | 442 | self.backgroupView.updateData(idArray: listArray as! Array<StandListModel>) |
| 396 | }else{ | 443 | }else{ |
| 397 | - self.identityStatus = .notCertified | 444 | + self.NetApiStatus = .apiError |
| 445 | +// self.identityStatus = .notCertified | ||
| 398 | } | 446 | } |
| 399 | } | 447 | } |
| 400 | else if (respStatue == .failed){ | 448 | else if (respStatue == .failed){ |
| 401 | -// showMessage(message: "") | ||
| 402 | - | ||
| 403 | - // TODO: 需做接口失败页面UI | 449 | + self.NetApiStatus = .apiError |
| 404 | }else if (respStatue == .noNetwork){ | 450 | }else if (respStatue == .noNetwork){ |
| 405 | -// showMessage(message: "网络未连接") | ||
| 406 | - // TODO: 需做无网络页面UI | 451 | + self.NetApiStatus = .notNetwork |
| 407 | } | 452 | } |
| 453 | + self.notNetworkSetting() | ||
| 408 | } | 454 | } |
| 409 | } | 455 | } |
| 410 | -// func getUserIdentityApi(){ | ||
| 411 | -// CNLiveHomePageViewModel.getUserIdentityApi { listArray, responseType, errorMsg in | ||
| 412 | -// switch responseType{ | ||
| 413 | -// case .success: | ||
| 414 | -// if(listArray.count>0){ | ||
| 415 | -// self.addCertificationView.isHidden = true | ||
| 416 | -// self.addCertificationView.removeFromSuperview() | ||
| 417 | -// self.dataArray.addObjects(from: listArray) | ||
| 418 | -// self.addPageView() | ||
| 419 | -// self.identityStatus = .haveBeenCertified | ||
| 420 | -// self.backgroupView.updateData(idArray: listArray ) | ||
| 421 | -// }else{ | ||
| 422 | -// self.identityStatus = .notCertified | ||
| 423 | -// } | ||
| 424 | -// | ||
| 425 | -// case .failed: | ||
| 426 | -// showMessage(message: errorMsg) | ||
| 427 | -// case .noNetwork: | ||
| 428 | -// showMessage(message: "网络未连接") | ||
| 429 | -// } | ||
| 430 | -// } | ||
| 431 | -// } | ||
| 432 | 456 | ||
| 457 | + //无网络,接口失败 配置 | ||
| 458 | + func notNetworkSetting(){ | ||
| 459 | + switch NetApiStatus{ | ||
| 460 | + case .success://隐藏无网,错误页面,显示UI | ||
| 461 | + self.pageFlowView.scrollView.isUserInteractionEnabled = true | ||
| 462 | + self.pageFlowView.isHidden = false | ||
| 463 | + self.notNetworkView.isHidden = true | ||
| 464 | + case .apiError://显示错误页面,隐藏UI | ||
| 465 | + self.pageFlowView.scrollView.isUserInteractionEnabled = false | ||
| 466 | + self.pageFlowView.isHidden = true | ||
| 467 | + self.notNetworkView.isHidden = false | ||
| 468 | + errorImgView.image = UIImage(named: "mine_list_source_unusual_failed") | ||
| 469 | + errorLabel.text = "接口请求错误,刷新试试~" | ||
| 470 | + case .notNetwork://显示无网页面,隐藏UI | ||
| 471 | + self.pageFlowView.scrollView.isUserInteractionEnabled = false | ||
| 472 | + self.pageFlowView.isHidden = true | ||
| 473 | + self.notNetworkView.isHidden = false | ||
| 474 | + errorImgView.image = UIImage(named: "mine_list_source_unusual_noNet") | ||
| 475 | + errorLabel.text = "网络开小差了,刷新试试~" | ||
| 476 | + } | ||
| 477 | + | ||
| 478 | + | ||
| 479 | + } | ||
| 480 | + | ||
| 433 | } | 481 | } |
metaCode/Classes/Main/HomePage/View/CNCustomIndexView.swift
| @@ -249,6 +249,11 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange | @@ -249,6 +249,11 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange | ||
| 249 | // self.addGestureRecognizer(singleTap) | 249 | // self.addGestureRecognizer(singleTap) |
| 250 | // } | 250 | // } |
| 251 | 251 | ||
| 252 | + // MARK: - <##>设置前置视图容器 | ||
| 253 | + func isHiddenMainFrontContentView(isHidden:Bool){ | ||
| 254 | + self.mainView.isHiddenMainFrontContentView(isHidden: isHidden) | ||
| 255 | + } | ||
| 256 | + | ||
| 252 | // MARK: - 设置颜色值跟随ScrollView滑动变化 | 257 | // MARK: - 设置颜色值跟随ScrollView滑动变化 |
| 253 | func addColorManager() | 258 | func addColorManager() |
| 254 | { | 259 | { |
metaCode/Classes/Main/HomePage/View/CNHomePageBackgroupView.swift
| @@ -24,9 +24,9 @@ class CNHomePageBackgroupSubView : UIView | @@ -24,9 +24,9 @@ class CNHomePageBackgroupSubView : UIView | ||
| 24 | }() | 24 | }() |
| 25 | 25 | ||
| 26 | lazy var titleLabel: UILabel = { | 26 | lazy var titleLabel: UILabel = { |
| 27 | - let titleLabel = UILabel.init(frame: CGRectMake(25, KNavigationHeight - 20, KSreenWidth - 100, 35)) | 27 | + let titleLabel = UILabel.init(frame: CGRectMake(25, KNavigationHeight - 20, KSreenWidth - 50, 35)) |
| 28 | titleLabel.textColor = .white | 28 | titleLabel.textColor = .white |
| 29 | - titleLabel.font = UIFont.systemFont(ofSize: 24, weight: .semibold) | 29 | + titleLabel.font = UIFont.systemFont(ofSize: 20, weight: .semibold) |
| 30 | return titleLabel | 30 | return titleLabel |
| 31 | }() | 31 | }() |
| 32 | 32 | ||
| @@ -93,10 +93,16 @@ class CNHomePageBackgroupView: UIView{ | @@ -93,10 +93,16 @@ class CNHomePageBackgroupView: UIView{ | ||
| 93 | //创建UI | 93 | //创建UI |
| 94 | func initUI(){ | 94 | func initUI(){ |
| 95 | 95 | ||
| 96 | - | ||
| 97 | } | 96 | } |
| 98 | 97 | ||
| 99 | func updateData(idArray:Array<StandListModel>){ | 98 | func updateData(idArray:Array<StandListModel>){ |
| 99 | + let array = self.subviews | ||
| 100 | + for i in (0..<array.count){ | ||
| 101 | + let obj:UIView = array[i] | ||
| 102 | + obj.removeFromSuperview() | ||
| 103 | + } | ||
| 104 | + self.dataArray = Array<CNHomePageBackgroupSubView>() | ||
| 105 | + | ||
| 100 | for i in (0..<idArray.count){ | 106 | for i in (0..<idArray.count){ |
| 101 | 107 | ||
| 102 | let subView: CNHomePageBackgroupSubView = CNHomePageBackgroupSubView.init(frame: self.bounds) | 108 | let subView: CNHomePageBackgroupSubView = CNHomePageBackgroupSubView.init(frame: self.bounds) |
| @@ -106,7 +112,7 @@ class CNHomePageBackgroupView: UIView{ | @@ -106,7 +112,7 @@ class CNHomePageBackgroupView: UIView{ | ||
| 106 | let navTitle:String = idModel.name! | 112 | let navTitle:String = idModel.name! |
| 107 | subView.setTitle(title: navTitle) | 113 | subView.setTitle(title: navTitle) |
| 108 | 114 | ||
| 109 | - subView.imageView.kf.setImage(with: URL(string: idModel.backgroundImg),placeholder: UIImage(named: "homePage_backgroup_red")) | 115 | + subView.imageView.kf.setImage(with: URL(string: idModel.backgroundImg),placeholder: UIImage(named: "homePage_backgroup_blue")) |
| 110 | 116 | ||
| 111 | //更新双向链表 | 117 | //更新双向链表 |
| 112 | let lastSubView: CNHomePageBackgroupSubView? = self.dataArray.last | 118 | let lastSubView: CNHomePageBackgroupSubView? = self.dataArray.last |
| @@ -144,7 +150,7 @@ class CNHomePageBackgroupView: UIView{ | @@ -144,7 +150,7 @@ class CNHomePageBackgroupView: UIView{ | ||
| 144 | } | 150 | } |
| 145 | ///获取当前视图右边的子视图 | 151 | ///获取当前视图右边的子视图 |
| 146 | func getRightView()->CNHomePageBackgroupSubView?{ | 152 | func getRightView()->CNHomePageBackgroupSubView?{ |
| 147 | - if(currentApearViewIndex == self.dataArray.count - 1){ | 153 | + if(currentApearViewIndex >= self.dataArray.count - 1){ |
| 148 | return nil | 154 | return nil |
| 149 | } | 155 | } |
| 150 | return dataArray[currentApearViewIndex + 1] | 156 | return dataArray[currentApearViewIndex + 1] |
| @@ -174,7 +180,6 @@ class CNHomePageBackgroupView: UIView{ | @@ -174,7 +180,6 @@ class CNHomePageBackgroupView: UIView{ | ||
| 174 | } | 180 | } |
| 175 | //更新当前显示的view所处的位置 | 181 | //更新当前显示的view所处的位置 |
| 176 | self.currentApearViewIndex = toIndex | 182 | self.currentApearViewIndex = toIndex |
| 177 | - | ||
| 178 | 183 | ||
| 179 | //重置之前的currentApearView的Left 和 right | 184 | //重置之前的currentApearView的Left 和 right |
| 180 | tempSubView?.maskLayer.left = 0; | 185 | tempSubView?.maskLayer.left = 0; |
metaCode/Classes/Main/HomePage/View/CNMainView.swift
| @@ -28,6 +28,22 @@ class CNFrontMainView : UIView{ | @@ -28,6 +28,22 @@ class CNFrontMainView : UIView{ | ||
| 28 | fatalError("init(coder:) has not been implemented") | 28 | fatalError("init(coder:) has not been implemented") |
| 29 | } | 29 | } |
| 30 | 30 | ||
| 31 | + //接口失败,无网络 | ||
| 32 | +// lazy var errorView: UIView = { | ||
| 33 | +// | ||
| 34 | +// }() | ||
| 35 | + | ||
| 36 | + //视图总容器 | ||
| 37 | + lazy var frontContentView : UIView = { | ||
| 38 | + | ||
| 39 | + let frontContentView = UIView.init(frame: CGRect(x: 0, y: 0, width: self.width, height: self.height )) | ||
| 40 | + frontContentView.backgroundColor = UIColor.white | ||
| 41 | + frontContentView.clipsToBounds = true | ||
| 42 | + frontContentView.layer.cornerRadius = 20 | ||
| 43 | + frontContentView.addSubview(self.contentView) | ||
| 44 | + return frontContentView | ||
| 45 | + }() | ||
| 46 | + | ||
| 31 | lazy var textView: UITextView = { | 47 | lazy var textView: UITextView = { |
| 32 | let textView = UITextView.init() | 48 | let textView = UITextView.init() |
| 33 | 49 | ||
| @@ -36,7 +52,10 @@ class CNFrontMainView : UIView{ | @@ -36,7 +52,10 @@ class CNFrontMainView : UIView{ | ||
| 36 | textView.textAlignment = .left | 52 | textView.textAlignment = .left |
| 37 | textView.contentMode = .scaleAspectFill | 53 | textView.contentMode = .scaleAspectFill |
| 38 | textView.sizeToFit() | 54 | textView.sizeToFit() |
| 39 | - textView.backgroundColor = .yellow | 55 | + textView.backgroundColor = HexColor("#004FE0", alpha: 0.1) |
| 56 | + textView.clipsToBounds = true | ||
| 57 | + textView.layer.cornerRadius = 14 | ||
| 58 | + textView.isUserInteractionEnabled = false | ||
| 40 | return textView | 59 | return textView |
| 41 | }() | 60 | }() |
| 42 | 61 | ||
| @@ -59,7 +78,7 @@ class CNFrontMainView : UIView{ | @@ -59,7 +78,7 @@ class CNFrontMainView : UIView{ | ||
| 59 | let addStandBtn = UIButton(type: .custom) | 78 | let addStandBtn = UIButton(type: .custom) |
| 60 | addStandBtn.clipsToBounds = true | 79 | addStandBtn.clipsToBounds = true |
| 61 | addStandBtn.layer.cornerRadius = 19.5 | 80 | addStandBtn.layer.cornerRadius = 19.5 |
| 62 | - addStandBtn.backgroundColor = .white | 81 | + addStandBtn.backgroundColor = HexColor("#004FE0") |
| 63 | addStandBtn.setTitle("点击添加身份", for: .normal) | 82 | addStandBtn.setTitle("点击添加身份", for: .normal) |
| 64 | addStandBtn.setTitleColor(.white, for: .normal) | 83 | addStandBtn.setTitleColor(.white, for: .normal) |
| 65 | addStandBtn.titleLabel?.font = UIFont.init(name: "PingFangSC-Medium", size: 14) | 84 | addStandBtn.titleLabel?.font = UIFont.init(name: "PingFangSC-Medium", size: 14) |
| @@ -67,6 +86,7 @@ class CNFrontMainView : UIView{ | @@ -67,6 +86,7 @@ class CNFrontMainView : UIView{ | ||
| 67 | return addStandBtn | 86 | return addStandBtn |
| 68 | }() | 87 | }() |
| 69 | 88 | ||
| 89 | + //前置视图容器 | ||
| 70 | lazy var contentView : UIView = { | 90 | lazy var contentView : UIView = { |
| 71 | 91 | ||
| 72 | let contentView = UIView.init(frame: CGRect(x: 0, y: 0, width: self.width, height: self.height )) | 92 | let contentView = UIView.init(frame: CGRect(x: 0, y: 0, width: self.width, height: self.height )) |
| @@ -119,11 +139,8 @@ class CNFrontMainView : UIView{ | @@ -119,11 +139,8 @@ class CNFrontMainView : UIView{ | ||
| 119 | //显示textview 添加身份 | 139 | //显示textview 添加身份 |
| 120 | self.textView.isHidden = false | 140 | self.textView.isHidden = false |
| 121 | self.textView.text = newValue!.description | 141 | self.textView.text = newValue!.description |
| 122 | - var backgroundColor = "#004FE0" | ||
| 123 | - if (newValue!.backgroundColor != ""){ | ||
| 124 | - backgroundColor = newValue!.backgroundColor | ||
| 125 | - } | ||
| 126 | - addStandBtn.backgroundColor = HexColor(backgroundColor ) | 142 | + addStandBtn.backgroundColor = HexColor(newValue!.backgroundColor) |
| 143 | + textView.backgroundColor = HexColor(newValue!.backgroundColor, alpha: 0.1) | ||
| 127 | } | 144 | } |
| 128 | _idModel = newValue | 145 | _idModel = newValue |
| 129 | } | 146 | } |
| @@ -132,7 +149,8 @@ class CNFrontMainView : UIView{ | @@ -132,7 +149,8 @@ class CNFrontMainView : UIView{ | ||
| 132 | 149 | ||
| 133 | func initUI() | 150 | func initUI() |
| 134 | { | 151 | { |
| 135 | - self.addSubview(self.contentView) | 152 | + self.addSubview(self.frontContentView) |
| 153 | + self.frontContentView.addSubview(self.contentView) | ||
| 136 | } | 154 | } |
| 137 | 155 | ||
| 138 | // MARK: - <##>按钮点击事件 | 156 | // MARK: - <##>按钮点击事件 |
| @@ -140,7 +158,8 @@ class CNFrontMainView : UIView{ | @@ -140,7 +158,8 @@ class CNFrontMainView : UIView{ | ||
| 140 | tapTransformAciton!() | 158 | tapTransformAciton!() |
| 141 | } | 159 | } |
| 142 | @objc func addStandBtnAction() { | 160 | @objc func addStandBtnAction() { |
| 143 | - | 161 | + //跳转到添加身份页面 |
| 162 | + | ||
| 144 | } | 163 | } |
| 145 | } | 164 | } |
| 146 | 165 | ||
| @@ -261,7 +280,7 @@ class CNMainView : UIView{ | @@ -261,7 +280,7 @@ class CNMainView : UIView{ | ||
| 261 | { | 280 | { |
| 262 | self.addSubview(self.frontView) | 281 | self.addSubview(self.frontView) |
| 263 | self.addSubview(self.backView) | 282 | self.addSubview(self.backView) |
| 264 | - | 283 | + |
| 265 | 284 | ||
| 266 | self.backView.isHidden = true; | 285 | self.backView.isHidden = true; |
| 267 | 286 | ||
| @@ -273,6 +292,11 @@ class CNMainView : UIView{ | @@ -273,6 +292,11 @@ class CNMainView : UIView{ | ||
| 273 | 292 | ||
| 274 | } | 293 | } |
| 275 | 294 | ||
| 295 | + // MARK: - <##><##>设置前置视图容器 | ||
| 296 | + func isHiddenMainFrontContentView(isHidden:Bool){ | ||
| 297 | + self.frontView.contentView.isHidden = isHidden | ||
| 298 | + } | ||
| 299 | + | ||
| 276 | // MARK: - 事件 | 300 | // MARK: - 事件 |
| 277 | 301 | ||
| 278 | ///旋转到反面 | 302 | ///旋转到反面 |
metaCode/Classes/Main/MinePage/ViewModel/CNLiveMineBaseModel.swift
| @@ -135,21 +135,21 @@ class StandListBaseModel: BaseModel { | @@ -135,21 +135,21 @@ class StandListBaseModel: BaseModel { | ||
| 135 | 135 | ||
| 136 | class StandListModel: BaseModel { | 136 | class StandListModel: BaseModel { |
| 137 | 137 | ||
| 138 | - var icon: String? | ||
| 139 | - var name: String? | ||
| 140 | - var enable: Bool = false | ||
| 141 | - var id: Int = 0 | ||
| 142 | - var createTime: Int = 0 | 138 | + var icon: String?//小圆图标 |
| 139 | + var name: String?//名称 | ||
| 140 | + var enable: Bool = false//没用 | ||
| 141 | + var id: Int = 0//ID号 | ||
| 142 | + var createTime: Int = 0//注册时间 | ||
| 143 | var createTimeString: String = "" | 143 | var createTimeString: String = "" |
| 144 | var timeString: String = "" | 144 | var timeString: String = "" |
| 145 | - var auth: Bool = false | ||
| 146 | - var backgroundImg: String = "" | ||
| 147 | - var backgroundColor: String = "" | 145 | + var auth: Bool = false//身份是否验证 |
| 146 | + var backgroundImg: String = ""//首页背景图 | ||
| 147 | + var backgroundColor: String = ""//添加身份按钮背景色 | ||
| 148 | var backgroundColour: String = "" | 148 | var backgroundColour: String = "" |
| 149 | - var description: String = "" | ||
| 150 | - var cardImg: String = "" | 149 | + var description: String = ""//首页身份说明描述 |
| 150 | + var cardImg: String = ""//卡片背景图 | ||
| 151 | var downPath: String = "" | 151 | var downPath: String = "" |
| 152 | - | 152 | + |
| 153 | override func mapping(mapper: HelpingMapper) { | 153 | override func mapping(mapper: HelpingMapper) { |
| 154 | mapper <<< | 154 | mapper <<< |
| 155 | self.createTime <-- TransformOf(fromJSON: { [weak self] (raw) -> Int in | 155 | self.createTime <-- TransformOf(fromJSON: { [weak self] (raw) -> Int in |