Commit c4cbe6dde77e230e7b906c217b2d2ab62e222cf0
Merge branch 'master' of http://bj.gitlab.cnlive.com/ios-team/CNLiveMateCode
Showing
33 changed files
with
195 additions
and
482 deletions
metaCode.xcodeproj/project.pbxproj
| @@ -695,7 +695,7 @@ | @@ -695,7 +695,7 @@ | ||
| 695 | 1938BD152B3D6C6000390A34 /* Controller */ = { | 695 | 1938BD152B3D6C6000390A34 /* Controller */ = { |
| 696 | isa = PBXGroup; | 696 | isa = PBXGroup; |
| 697 | children = ( | 697 | children = ( |
| 698 | - 1938BD272B48009600390A34 /* AuthController */, | 698 | + 1938BD272B48009600390A34 /* HomeController */, |
| 699 | 1938BD1D2B46791400390A34 /* PlayletHomePage */, | 699 | 1938BD1D2B46791400390A34 /* PlayletHomePage */, |
| 700 | ); | 700 | ); |
| 701 | path = Controller; | 701 | path = Controller; |
| @@ -753,13 +753,13 @@ | @@ -753,13 +753,13 @@ | ||
| 753 | path = PlayletHomePage; | 753 | path = PlayletHomePage; |
| 754 | sourceTree = "<group>"; | 754 | sourceTree = "<group>"; |
| 755 | }; | 755 | }; |
| 756 | - 1938BD272B48009600390A34 /* AuthController */ = { | 756 | + 1938BD272B48009600390A34 /* HomeController */ = { |
| 757 | isa = PBXGroup; | 757 | isa = PBXGroup; |
| 758 | children = ( | 758 | children = ( |
| 759 | 1938BD282B4800E500390A34 /* push相关 */, | 759 | 1938BD282B4800E500390A34 /* push相关 */, |
| 760 | 1938BD162B3D6C7F00390A34 /* CNLiveAuthViewController.swift */, | 760 | 1938BD162B3D6C7F00390A34 /* CNLiveAuthViewController.swift */, |
| 761 | ); | 761 | ); |
| 762 | - path = AuthController; | 762 | + path = HomeController; |
| 763 | sourceTree = "<group>"; | 763 | sourceTree = "<group>"; |
| 764 | }; | 764 | }; |
| 765 | 1938BD282B4800E500390A34 /* push相关 */ = { | 765 | 1938BD282B4800E500390A34 /* push相关 */ = { |
| @@ -2078,7 +2078,7 @@ | @@ -2078,7 +2078,7 @@ | ||
| 2078 | CODE_SIGN_ENTITLEMENTS = metaCode/metaCode.entitlements; | 2078 | CODE_SIGN_ENTITLEMENTS = metaCode/metaCode.entitlements; |
| 2079 | CODE_SIGN_IDENTITY = "Apple Development"; | 2079 | CODE_SIGN_IDENTITY = "Apple Development"; |
| 2080 | CODE_SIGN_STYLE = Automatic; | 2080 | CODE_SIGN_STYLE = Automatic; |
| 2081 | - CURRENT_PROJECT_VERSION = 1.0.6.24.02.04.18; | 2081 | + CURRENT_PROJECT_VERSION = 1.0.7.24.03.01.16; |
| 2082 | DEVELOPMENT_TEAM = 94X49GG3ZW; | 2082 | DEVELOPMENT_TEAM = 94X49GG3ZW; |
| 2083 | ENABLE_BITCODE = NO; | 2083 | ENABLE_BITCODE = NO; |
| 2084 | ENABLE_MODULE_VERIFIER = NO; | 2084 | ENABLE_MODULE_VERIFIER = NO; |
| @@ -2150,7 +2150,7 @@ | @@ -2150,7 +2150,7 @@ | ||
| 2150 | "$(inherited)", | 2150 | "$(inherited)", |
| 2151 | "@executable_path/Frameworks", | 2151 | "@executable_path/Frameworks", |
| 2152 | ); | 2152 | ); |
| 2153 | - MARKETING_VERSION = 1.0.6; | 2153 | + MARKETING_VERSION = 1.0.7; |
| 2154 | OTHER_LDFLAGS = ( | 2154 | OTHER_LDFLAGS = ( |
| 2155 | "$(inherited)", | 2155 | "$(inherited)", |
| 2156 | "-all_load", | 2156 | "-all_load", |
| @@ -2332,7 +2332,7 @@ | @@ -2332,7 +2332,7 @@ | ||
| 2332 | CODE_SIGN_ENTITLEMENTS = metaCode/metaCode.entitlements; | 2332 | CODE_SIGN_ENTITLEMENTS = metaCode/metaCode.entitlements; |
| 2333 | CODE_SIGN_IDENTITY = "Apple Development"; | 2333 | CODE_SIGN_IDENTITY = "Apple Development"; |
| 2334 | CODE_SIGN_STYLE = Automatic; | 2334 | CODE_SIGN_STYLE = Automatic; |
| 2335 | - CURRENT_PROJECT_VERSION = 1.0.6.24.02.04.18; | 2335 | + CURRENT_PROJECT_VERSION = 1.0.7.24.03.01.16; |
| 2336 | DEVELOPMENT_TEAM = 94X49GG3ZW; | 2336 | DEVELOPMENT_TEAM = 94X49GG3ZW; |
| 2337 | ENABLE_BITCODE = NO; | 2337 | ENABLE_BITCODE = NO; |
| 2338 | ENABLE_MODULE_VERIFIER = NO; | 2338 | ENABLE_MODULE_VERIFIER = NO; |
| @@ -2404,7 +2404,7 @@ | @@ -2404,7 +2404,7 @@ | ||
| 2404 | "$(inherited)", | 2404 | "$(inherited)", |
| 2405 | "@executable_path/Frameworks", | 2405 | "@executable_path/Frameworks", |
| 2406 | ); | 2406 | ); |
| 2407 | - MARKETING_VERSION = 1.0.6; | 2407 | + MARKETING_VERSION = 1.0.7; |
| 2408 | OTHER_LDFLAGS = ( | 2408 | OTHER_LDFLAGS = ( |
| 2409 | "$(inherited)", | 2409 | "$(inherited)", |
| 2410 | "-all_load", | 2410 | "-all_load", |
metaCode/Classes/Common/Util/CNLiveCommonQiniuTool.swift
| @@ -90,7 +90,7 @@ class UploadManager: NSObject { | @@ -90,7 +90,7 @@ class UploadManager: NSObject { | ||
| 90 | /// - resultBlock: 结果 | 90 | /// - resultBlock: 结果 |
| 91 | static private func uploadData(madiaData: NSData, key: String, progress: ProgressBlcok?, success: SuccessBlock?) { | 91 | static private func uploadData(madiaData: NSData, key: String, progress: ProgressBlcok?, success: SuccessBlock?) { |
| 92 | let param = NSMutableDictionary() | 92 | let param = NSMutableDictionary() |
| 93 | - param.setValue(APPId, forKey: "appId") | 93 | + param.setValue(CNLiveMCEnvironmentManager.shared.appId, forKey: "appId") |
| 94 | param.setValue("POST", forKey: "verb") | 94 | param.setValue("POST", forKey: "verb") |
| 95 | param.setValue("2", forKey: "storageType") | 95 | param.setValue("2", forKey: "storageType") |
| 96 | param.setValue(kBucketName_QN, forKey: "bucket") | 96 | param.setValue(kBucketName_QN, forKey: "bucket") |
| @@ -101,7 +101,7 @@ class UploadManager: NSObject { | @@ -101,7 +101,7 @@ class UploadManager: NSObject { | ||
| 101 | CNLiveNetworking.setupShowResult(true) | 101 | CNLiveNetworking.setupShowResult(true) |
| 102 | CNLiveNetworking.setAllowRequestDefaultArgument(true) | 102 | CNLiveNetworking.setAllowRequestDefaultArgument(true) |
| 103 | CNLiveNetworking.setupShowDataResult(false) | 103 | CNLiveNetworking.setupShowDataResult(false) |
| 104 | - CNLiveNetworking.setupSignRequestKey(APPKey)//APPKey_wjj APPKey | 104 | + CNLiveNetworking.setupSignRequestKey(CNLiveMCEnvironmentManager.shared.appKey)//APPKey_wjj APPKey |
| 105 | 105 | ||
| 106 | CNLiveNetworking.requestNetwork(with: .POST, urlString: "\(CNLiveMCEnvironmentManager.shared.img_token_url)/vod_epg/getUploadAuthForApp", param: param as! [String : String], cacheType: .networkOnly) { task, result, error in | 106 | CNLiveNetworking.requestNetwork(with: .POST, urlString: "\(CNLiveMCEnvironmentManager.shared.img_token_url)/vod_epg/getUploadAuthForApp", param: param as! [String : String], cacheType: .networkOnly) { task, result, error in |
| 107 | hiddenLoading() | 107 | hiddenLoading() |
metaCode/Classes/Main/HomePage/Controller/AuthMainController/CNMetaCodeHomePageController.swift
| @@ -17,7 +17,7 @@ let Height: CGFloat = UIScreen.main.bounds.size.height | @@ -17,7 +17,7 @@ let Height: CGFloat = UIScreen.main.bounds.size.height | ||
| 17 | let LeftGap: CGFloat = UIScreen.main.bounds.size.width <= 375 ? 23 : 40 | 17 | let LeftGap: CGFloat = UIScreen.main.bounds.size.width <= 375 ? 23 : 40 |
| 18 | 18 | ||
| 19 | ///主窗口宽度 | 19 | ///主窗口宽度 |
| 20 | -let MainViewW: CGFloat = Width-LeftGap*2//Width-50 | 20 | +let MainViewW: CGFloat = Width-LeftGap*2 |
| 21 | ///下滑页底部工具条高度 | 21 | ///下滑页底部工具条高度 |
| 22 | let DownSlideBottomViewHeight: CGFloat = 74 | 22 | let DownSlideBottomViewHeight: CGFloat = 74 |
| 23 | 23 | ||
| @@ -26,14 +26,6 @@ let CNKeyIsFirstAppearUpSlideHomeGuide: String = "isFirstAppearUpSlideHomeGuideK | @@ -26,14 +26,6 @@ let CNKeyIsFirstAppearUpSlideHomeGuide: String = "isFirstAppearUpSlideHomeGuideK | ||
| 26 | ///存储是否第一次显示首页下滑引导 | 26 | ///存储是否第一次显示首页下滑引导 |
| 27 | let CNKeyIsFirstAppearDownSlideHomeGuide: String = "isFirstAppearDownSlideHomeGuideKey" | 27 | let CNKeyIsFirstAppearDownSlideHomeGuide: String = "isFirstAppearDownSlideHomeGuideKey" |
| 28 | 28 | ||
| 29 | -/////用户身份认证状态 | ||
| 30 | -//enum UserIdentityStatus { | ||
| 31 | -// ///未认证 | ||
| 32 | -// case notCertified | ||
| 33 | -// ///已经认证 | ||
| 34 | -// case haveBeenCertified | ||
| 35 | -//} | ||
| 36 | - | ||
| 37 | ///数据状态 | 29 | ///数据状态 |
| 38 | enum NetAPIStatus { | 30 | enum NetAPIStatus { |
| 39 | ///接口成功 | 31 | ///接口成功 |
| @@ -65,8 +57,6 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel | @@ -65,8 +57,6 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel | ||
| 65 | ///tabBar 的Y坐标位置 | 57 | ///tabBar 的Y坐标位置 |
| 66 | private var tabBarY:CGFloat = 0.0 | 58 | private var tabBarY:CGFloat = 0.0 |
| 67 | 59 | ||
| 68 | - ///用户身份认证状态 | ||
| 69 | -// private var identityStatus: UserIdentityStatus = .notCertified | ||
| 70 | ///接口状态 | 60 | ///接口状态 |
| 71 | private var NetApiStatus: NetAPIStatus = .apiError | 61 | private var NetApiStatus: NetAPIStatus = .apiError |
| 72 | ///接口状态 | 62 | ///接口状态 |
| @@ -127,51 +117,51 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel | @@ -127,51 +117,51 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel | ||
| 127 | return errorFreshButton | 117 | return errorFreshButton |
| 128 | }() | 118 | }() |
| 129 | 119 | ||
| 130 | - ///上滑引导View | ||
| 131 | - lazy var upSlideGuideView:CNHomePageGuideView = { | ||
| 132 | - let upSlideGuideView = CNHomePageGuideView.init(frame: UIScreen.main.bounds) | ||
| 133 | - upSlideGuideView.setBottomText(text: "向上滑动") | ||
| 134 | - upSlideGuideView.skipAction = { | ||
| 135 | - [weak self] in | ||
| 136 | - self?.upSlideGuideView.removeFromSuperview() | ||
| 137 | - self?.upSlideGifView.removeFromSuperview() | ||
| 138 | - UserDefaults.standard.set("flase", forKey: CNKeyIsFirstAppearUpSlideHomeGuide) | ||
| 139 | - UserDefaults.standard.set("flase", forKey: CNKeyIsFirstAppearDownSlideHomeGuide) | ||
| 140 | - self?.pageFlowView.scrollView.isScrollEnabled = true | ||
| 141 | - } | ||
| 142 | - return upSlideGuideView | ||
| 143 | - }() | ||
| 144 | - ///上滑引导动图 | ||
| 145 | - lazy var upSlideGifView:UIImageView = { | ||
| 146 | - let gif: UIImageView = UIImageView(frame: CGRect(x: 200, y: 30, width: 40, height: 80)) | ||
| 147 | - gif.loadGif(name: "slide_up") | ||
| 148 | - gif.center = self.view.center | ||
| 149 | - gif.contentMode = .scaleAspectFill | ||
| 150 | - | ||
| 151 | - return gif | ||
| 152 | - }() | ||
| 153 | - | ||
| 154 | - ///下滑引导View | ||
| 155 | - lazy var downSlideGuideView:CNHomePageGuideView = { | ||
| 156 | - let downSlideGuideView = CNHomePageGuideView.init(frame: UIScreen.main.bounds) | ||
| 157 | - downSlideGuideView.setBottomText(text: "向下滑动") | ||
| 158 | - downSlideGuideView.skipAction = { | ||
| 159 | - [weak self ] in | ||
| 160 | - self?.downSlideGuideView.removeFromSuperview() | ||
| 161 | - self?.downSlideGifView.removeFromSuperview() | ||
| 162 | - UserDefaults.standard.set("flase", forKey: CNKeyIsFirstAppearDownSlideHomeGuide) | ||
| 163 | - self?.pageFlowView.scrollView.isScrollEnabled = true | ||
| 164 | - } | ||
| 165 | - return downSlideGuideView | ||
| 166 | - }() | ||
| 167 | - ///下滑引导动图 | ||
| 168 | - lazy var downSlideGifView:UIImageView = { | ||
| 169 | - let gif: UIImageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 40, height: 80)) | ||
| 170 | - gif.center = self.view.center | ||
| 171 | - gif.loadGif(name: "slide_down") | ||
| 172 | - gif.contentMode = .scaleAspectFill | ||
| 173 | - return gif | ||
| 174 | - }() | 120 | +// ///上滑引导View |
| 121 | +// lazy var upSlideGuideView:CNHomePageGuideView = { | ||
| 122 | +// let upSlideGuideView = CNHomePageGuideView.init(frame: UIScreen.main.bounds) | ||
| 123 | +// upSlideGuideView.setBottomText(text: "向上滑动") | ||
| 124 | +// upSlideGuideView.skipAction = { | ||
| 125 | +// [weak self] in | ||
| 126 | +// self?.upSlideGuideView.removeFromSuperview() | ||
| 127 | +// self?.upSlideGifView.removeFromSuperview() | ||
| 128 | +// UserDefaults.standard.set("flase", forKey: CNKeyIsFirstAppearUpSlideHomeGuide) | ||
| 129 | +// UserDefaults.standard.set("flase", forKey: CNKeyIsFirstAppearDownSlideHomeGuide) | ||
| 130 | +// self?.pageFlowView.scrollView.isScrollEnabled = true | ||
| 131 | +// } | ||
| 132 | +// return upSlideGuideView | ||
| 133 | +// }() | ||
| 134 | +// ///上滑引导动图 | ||
| 135 | +// lazy var upSlideGifView:UIImageView = { | ||
| 136 | +// let gif: UIImageView = UIImageView(frame: CGRect(x: 200, y: 30, width: 40, height: 80)) | ||
| 137 | +// gif.loadGif(name: "slide_up") | ||
| 138 | +// gif.center = self.view.center | ||
| 139 | +// gif.contentMode = .scaleAspectFill | ||
| 140 | +// | ||
| 141 | +// return gif | ||
| 142 | +// }() | ||
| 143 | +// | ||
| 144 | +// ///下滑引导View | ||
| 145 | +// lazy var downSlideGuideView:CNHomePageGuideView = { | ||
| 146 | +// let downSlideGuideView = CNHomePageGuideView.init(frame: UIScreen.main.bounds) | ||
| 147 | +// downSlideGuideView.setBottomText(text: "向下滑动") | ||
| 148 | +// downSlideGuideView.skipAction = { | ||
| 149 | +// [weak self ] in | ||
| 150 | +// self?.downSlideGuideView.removeFromSuperview() | ||
| 151 | +// self?.downSlideGifView.removeFromSuperview() | ||
| 152 | +// UserDefaults.standard.set("flase", forKey: CNKeyIsFirstAppearDownSlideHomeGuide) | ||
| 153 | +// self?.pageFlowView.scrollView.isScrollEnabled = true | ||
| 154 | +// } | ||
| 155 | +// return downSlideGuideView | ||
| 156 | +// }() | ||
| 157 | +// ///下滑引导动图 | ||
| 158 | +// lazy var downSlideGifView:UIImageView = { | ||
| 159 | +// let gif: UIImageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 40, height: 80)) | ||
| 160 | +// gif.center = self.view.center | ||
| 161 | +// gif.loadGif(name: "slide_down") | ||
| 162 | +// gif.contentMode = .scaleAspectFill | ||
| 163 | +// return gif | ||
| 164 | +// }() | ||
| 175 | 165 | ||
| 176 | ///左右滑动分页view | 166 | ///左右滑动分页view |
| 177 | lazy var pageFlowView: NewPagedFlowView = { | 167 | lazy var pageFlowView: NewPagedFlowView = { |
| @@ -266,14 +256,6 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel | @@ -266,14 +256,6 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel | ||
| 266 | 256 | ||
| 267 | self.makeConstraints() | 257 | self.makeConstraints() |
| 268 | 258 | ||
| 269 | -// switch self.identityStatus{ | ||
| 270 | -// | ||
| 271 | -// case .notCertified: | ||
| 272 | -// self.view.addSubview(self.addCertificationView) | ||
| 273 | -// case .haveBeenCertified: | ||
| 274 | -// self.addPageView() | ||
| 275 | -// } | ||
| 276 | - | ||
| 277 | } | 259 | } |
| 278 | 260 | ||
| 279 | // MARK: -事件 | 261 | // MARK: -事件 |
| @@ -355,32 +337,31 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel | @@ -355,32 +337,31 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel | ||
| 355 | self.view.addSubview(self.pageFlowView) | 337 | self.view.addSubview(self.pageFlowView) |
| 356 | self.pageFlowView.reloadData() | 338 | self.pageFlowView.reloadData() |
| 357 | 339 | ||
| 358 | - //首选判断是否显示了上滑引导 | ||
| 359 | - let isFirstAppearUpSlideHomeGuide:Any? = UserDefaults.standard.object(forKey: CNKeyIsFirstAppearUpSlideHomeGuide) | ||
| 360 | 340 | ||
| 361 | - if let tempGuide = isFirstAppearUpSlideHomeGuide{ | ||
| 362 | - //已经显示过上滑引导 | ||
| 363 | - | ||
| 364 | - //判断是否显示过下滑引导 | ||
| 365 | - let isFirstAppearDownSlideHomeGuide:Any? = UserDefaults.standard.object(forKey: CNKeyIsFirstAppearDownSlideHomeGuide) | ||
| 366 | - if let tempDownGuide = isFirstAppearDownSlideHomeGuide{ | ||
| 367 | - | ||
| 368 | - }else{ | ||
| 369 | - //没有显示下滑引导 | ||
| 370 | - self.pageFlowView.scrollView.isScrollEnabled = false | ||
| 371 | - UIApplication.shared.keyWindow!.addSubview(self.downSlideGuideView) | ||
| 372 | - UIApplication.shared.keyWindow!.addSubview(self.downSlideGifView) | ||
| 373 | -// self.tabBarController?.tabBar.isHidden = true | ||
| 374 | - } | ||
| 375 | - | ||
| 376 | - }else{ | ||
| 377 | - //没显示过上滑引导 | ||
| 378 | - self.pageFlowView.scrollView.isScrollEnabled = false | ||
| 379 | - | ||
| 380 | - UIApplication.shared.keyWindow!.addSubview(self.upSlideGuideView) | ||
| 381 | - UIApplication.shared.keyWindow!.addSubview(self.upSlideGifView) | ||
| 382 | -// self.tabBarController?.tabBar.isHidden = true | ||
| 383 | - } | 341 | +// //首选判断是否显示了上滑引导 |
| 342 | +// let isFirstAppearUpSlideHomeGuide:Any? = UserDefaults.standard.object(forKey: CNKeyIsFirstAppearUpSlideHomeGuide) | ||
| 343 | +// | ||
| 344 | +// if let tempGuide = isFirstAppearUpSlideHomeGuide{ | ||
| 345 | +// //已经显示过上滑引导 | ||
| 346 | +// | ||
| 347 | +// //判断是否显示过下滑引导 | ||
| 348 | +// let isFirstAppearDownSlideHomeGuide:Any? = UserDefaults.standard.object(forKey: CNKeyIsFirstAppearDownSlideHomeGuide) | ||
| 349 | +// if let tempDownGuide = isFirstAppearDownSlideHomeGuide{ | ||
| 350 | +// | ||
| 351 | +// }else{ | ||
| 352 | +// //没有显示下滑引导 | ||
| 353 | +// self.pageFlowView.scrollView.isScrollEnabled = false | ||
| 354 | +// UIApplication.shared.keyWindow!.addSubview(self.downSlideGuideView) | ||
| 355 | +// UIApplication.shared.keyWindow!.addSubview(self.downSlideGifView) | ||
| 356 | +// } | ||
| 357 | +// | ||
| 358 | +// }else{ | ||
| 359 | +// //没显示过上滑引导 | ||
| 360 | +// self.pageFlowView.scrollView.isScrollEnabled = false | ||
| 361 | +// | ||
| 362 | +// UIApplication.shared.keyWindow!.addSubview(self.upSlideGuideView) | ||
| 363 | +// UIApplication.shared.keyWindow!.addSubview(self.upSlideGifView) | ||
| 364 | +// } | ||
| 384 | } | 365 | } |
| 385 | 366 | ||
| 386 | // MARK: -左滑手势代理 | 367 | // MARK: -左滑手势代理 |
| @@ -501,23 +482,23 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel | @@ -501,23 +482,23 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel | ||
| 501 | func customIndexViewWillBeiginScroll(scrollView: UIScrollView) { | 482 | func customIndexViewWillBeiginScroll(scrollView: UIScrollView) { |
| 502 | self.view.height = KSreenHeight | 483 | self.view.height = KSreenHeight |
| 503 | 484 | ||
| 504 | - /**开始拖拽移除引导View**/ | ||
| 505 | - | ||
| 506 | - //移除上滑引导 | ||
| 507 | - if(self.upSlideGuideView.superview != nil){ | ||
| 508 | - self.upSlideGuideView.removeFromSuperview() | ||
| 509 | - self.upSlideGifView.removeFromSuperview() | ||
| 510 | - UserDefaults.standard.set("flase", forKey: CNKeyIsFirstAppearUpSlideHomeGuide) | ||
| 511 | - } | ||
| 512 | - | ||
| 513 | - //移除下滑引导 | ||
| 514 | - if (self.downSlideGuideView.superview != nil) { | ||
| 515 | - | ||
| 516 | - self.downSlideGuideView.removeFromSuperview() | ||
| 517 | - self.downSlideGifView.removeFromSuperview() | ||
| 518 | - UserDefaults.standard.set("flase", forKey: CNKeyIsFirstAppearDownSlideHomeGuide) | ||
| 519 | - self.pageFlowView.scrollView.isScrollEnabled = true | ||
| 520 | - } | 485 | +// /**开始拖拽移除引导View**/ |
| 486 | +// | ||
| 487 | +// //移除上滑引导 | ||
| 488 | +// if(self.upSlideGuideView.superview != nil){ | ||
| 489 | +// self.upSlideGuideView.removeFromSuperview() | ||
| 490 | +// self.upSlideGifView.removeFromSuperview() | ||
| 491 | +// UserDefaults.standard.set("flase", forKey: CNKeyIsFirstAppearUpSlideHomeGuide) | ||
| 492 | +// } | ||
| 493 | +// | ||
| 494 | +// //移除下滑引导 | ||
| 495 | +// if (self.downSlideGuideView.superview != nil) { | ||
| 496 | +// | ||
| 497 | +// self.downSlideGuideView.removeFromSuperview() | ||
| 498 | +// self.downSlideGifView.removeFromSuperview() | ||
| 499 | +// UserDefaults.standard.set("flase", forKey: CNKeyIsFirstAppearDownSlideHomeGuide) | ||
| 500 | +// self.pageFlowView.scrollView.isScrollEnabled = true | ||
| 501 | +// } | ||
| 521 | 502 | ||
| 522 | } | 503 | } |
| 523 | func customIndexViewDidScroll(scrollView: UIScrollView) { | 504 | func customIndexViewDidScroll(scrollView: UIScrollView) { |
| @@ -566,16 +547,16 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel | @@ -566,16 +547,16 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel | ||
| 566 | if scrollView.contentOffset.y == KSreenHeight { | 547 | if scrollView.contentOffset.y == KSreenHeight { |
| 567 | self.view.height = self.tabBarY | 548 | self.view.height = self.tabBarY |
| 568 | 549 | ||
| 569 | - //判断是否显示过下滑引导 | ||
| 570 | - let isFirstAppearDownSlideHomeGuide:Any? = UserDefaults.standard.object(forKey: CNKeyIsFirstAppearDownSlideHomeGuide) | ||
| 571 | - if let tempDownGuide = isFirstAppearDownSlideHomeGuide{ | ||
| 572 | - print("不该进来") | ||
| 573 | - }else{ | ||
| 574 | - //没有显示下滑引导 | ||
| 575 | - UIApplication.shared.keyWindow!.addSubview(self.downSlideGuideView) | ||
| 576 | - UIApplication.shared.keyWindow!.addSubview(self.downSlideGifView) | ||
| 577 | - self.pageFlowView.scrollView.isScrollEnabled = false | ||
| 578 | - } | 550 | +// //判断是否显示过下滑引导 |
| 551 | +// let isFirstAppearDownSlideHomeGuide:Any? = UserDefaults.standard.object(forKey: CNKeyIsFirstAppearDownSlideHomeGuide) | ||
| 552 | +// if let tempDownGuide = isFirstAppearDownSlideHomeGuide{ | ||
| 553 | +// print("不该进来") | ||
| 554 | +// }else{ | ||
| 555 | +// //没有显示下滑引导 | ||
| 556 | +// UIApplication.shared.keyWindow!.addSubview(self.downSlideGuideView) | ||
| 557 | +// UIApplication.shared.keyWindow!.addSubview(self.downSlideGifView) | ||
| 558 | +// self.pageFlowView.scrollView.isScrollEnabled = false | ||
| 559 | +// } | ||
| 579 | } | 560 | } |
| 580 | } | 561 | } |
| 581 | 562 |
metaCode/Classes/Main/HomePage/Controller/DownSlideController/CNUpSlideViewController.swift
| @@ -75,7 +75,6 @@ class CNUpSlideViewController: CNLiveBaseViewController,UITableViewDelegate,UITa | @@ -75,7 +75,6 @@ class CNUpSlideViewController: CNLiveBaseViewController,UITableViewDelegate,UITa | ||
| 75 | tableView.delegate = self | 75 | tableView.delegate = self |
| 76 | tableView.separatorStyle = .none | 76 | tableView.separatorStyle = .none |
| 77 | tableView.bounces = false | 77 | tableView.bounces = false |
| 78 | -// tableView.register(CNDownSlideSingleCourseCell.self, forCellReuseIdentifier: kCNLiveDownSlideCellIdentifier) | ||
| 79 | tableView.register(CNLiveDownSlideRecommendCell.self, forCellReuseIdentifier: kCNLiveDownSlideRecommendCellIdentifier) | 78 | tableView.register(CNLiveDownSlideRecommendCell.self, forCellReuseIdentifier: kCNLiveDownSlideRecommendCellIdentifier) |
| 80 | tableView.register(CNLiveDownSlideTodayRecommendCell.self, forCellReuseIdentifier: kCNLiveDownSlideTodayRecommendCellIdentifier) | 79 | tableView.register(CNLiveDownSlideTodayRecommendCell.self, forCellReuseIdentifier: kCNLiveDownSlideTodayRecommendCellIdentifier) |
| 81 | tableView.register(CNDownSlideSingleCourseCell.self, forCellReuseIdentifier: kCNLiveDownSlideAllCourseCellIdentifier) | 80 | tableView.register(CNDownSlideSingleCourseCell.self, forCellReuseIdentifier: kCNLiveDownSlideAllCourseCellIdentifier) |
metaCode/Classes/Main/HomePage/Controller/WebController/CNWebView.swift
| @@ -11,6 +11,10 @@ import WebViewJavascriptBridge | @@ -11,6 +11,10 @@ import WebViewJavascriptBridge | ||
| 11 | import CNLiveShareToolKit | 11 | import CNLiveShareToolKit |
| 12 | import CommonCrypto | 12 | import CommonCrypto |
| 13 | import CNLiveBusinessTools | 13 | import CNLiveBusinessTools |
| 14 | +import SKPhotoBrowser | ||
| 15 | + | ||
| 16 | +//更新Web控制器导航回调 | ||
| 17 | +typealias cnWebControllerUpdateNavBlock = (_ isFinish:Bool , _ titleName:String ,_ isDecidePolicy:Bool , _ urlStr:String)->Void | ||
| 14 | 18 | ||
| 15 | class CNWebView:UIView,WKNavigationDelegate{ | 19 | class CNWebView:UIView,WKNavigationDelegate{ |
| 16 | 20 | ||
| @@ -21,11 +25,15 @@ class CNWebView:UIView,WKNavigationDelegate{ | @@ -21,11 +25,15 @@ class CNWebView:UIView,WKNavigationDelegate{ | ||
| 21 | return cnWebView | 25 | return cnWebView |
| 22 | }() | 26 | }() |
| 23 | 27 | ||
| 24 | - | ||
| 25 | var webUrl:URL?//初始URL | 28 | var webUrl:URL?//初始URL |
| 26 | var currentUrl:String = ""//当前网页的url | 29 | var currentUrl:String = ""//当前网页的url |
| 27 | var bridge:WKWebViewJavascriptBridge? | 30 | var bridge:WKWebViewJavascriptBridge? |
| 28 | 31 | ||
| 32 | + //CNWebController | ||
| 33 | + var isCNWebController:Bool = false//是否网页控制器 | ||
| 34 | + var webControllerUpdateNavBlock:cnWebControllerUpdateNavBlock? | ||
| 35 | + | ||
| 36 | + | ||
| 29 | init(frame: CGRect, configuration: WKWebViewConfiguration ,url:URL?) { | 37 | init(frame: CGRect, configuration: WKWebViewConfiguration ,url:URL?) { |
| 30 | super.init(frame: frame) | 38 | super.init(frame: frame) |
| 31 | self.configuration = configuration | 39 | self.configuration = configuration |
| @@ -56,8 +64,9 @@ class CNWebView:UIView,WKNavigationDelegate{ | @@ -56,8 +64,9 @@ class CNWebView:UIView,WKNavigationDelegate{ | ||
| 56 | self.bridge = WKWebViewJavascriptBridge(for: self.cnWebView) | 64 | self.bridge = WKWebViewJavascriptBridge(for: self.cnWebView) |
| 57 | self.bridge?.setWebViewDelegate(self) | 65 | self.bridge?.setWebViewDelegate(self) |
| 58 | } | 66 | } |
| 59 | - //h5拉起原生分享 js call oc | 67 | + //h5拉起原生 |
| 60 | func configBridgeRegister() -> Void { | 68 | func configBridgeRegister() -> Void { |
| 69 | + //h5拉起原生分享 js call oc | ||
| 61 | self.bridge?.registerHandler("wjjylzgVideoShare", handler: { data, responseCallback in | 70 | self.bridge?.registerHandler("wjjylzgVideoShare", handler: { data, responseCallback in |
| 62 | // print("js call oc\(data)") | 71 | // print("js call oc\(data)") |
| 63 | let dic = data as! Dictionary<String, String> | 72 | let dic = data as! Dictionary<String, String> |
| @@ -70,6 +79,33 @@ class CNWebView:UIView,WKNavigationDelegate{ | @@ -70,6 +79,33 @@ class CNWebView:UIView,WKNavigationDelegate{ | ||
| 70 | } | 79 | } |
| 71 | 80 | ||
| 72 | }) | 81 | }) |
| 82 | + // 网页内容图片预览 | ||
| 83 | + self.bridge?.registerHandler("wjjPreviewImage", handler: { data, responseCallback in | ||
| 84 | + // print("js call oc\(data)") | ||
| 85 | + var images = [SKPhoto]() | ||
| 86 | + let dic = data as! Dictionary<String, Any> | ||
| 87 | + let index = (dic["index"] as! NSString).integerValue | ||
| 88 | + let imageArray = dic["imgArr"] as! NSArray | ||
| 89 | + var imgArray = NSMutableArray() | ||
| 90 | + for dict in imageArray { | ||
| 91 | + var imgUrl = "" | ||
| 92 | + if let dictemp = dict as? String{ | ||
| 93 | + imgArray.add(dictemp) | ||
| 94 | + imgUrl = dictemp | ||
| 95 | + }else if let dictemp = dict as? Dictionary<String, Any>{ | ||
| 96 | + imgArray.add(dictemp["src"] ?? "") | ||
| 97 | + imgUrl = dictemp["src"] as! String | ||
| 98 | + } | ||
| 99 | + let photo = SKPhoto.photoWithImageURL(imgUrl) | ||
| 100 | + photo.shouldCachePhotoURLImage = false | ||
| 101 | + photo.photoURL = imgUrl | ||
| 102 | + images.append(photo) | ||
| 103 | + } | ||
| 104 | + let browser = SKPhotoBrowser(photos: images) | ||
| 105 | + browser.initializePageIndex(index) | ||
| 106 | + currentViewController()?.present(browser, animated: true) | ||
| 107 | + | ||
| 108 | + }) | ||
| 73 | } | 109 | } |
| 74 | 110 | ||
| 75 | required init?(coder: NSCoder) { | 111 | required init?(coder: NSCoder) { |
| @@ -143,7 +179,7 @@ class CNWebView:UIView,WKNavigationDelegate{ | @@ -143,7 +179,7 @@ class CNWebView:UIView,WKNavigationDelegate{ | ||
| 143 | // 页面加载完成之后调用 | 179 | // 页面加载完成之后调用 |
| 144 | func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { | 180 | func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { |
| 145 | print("didFinish") | 181 | print("didFinish") |
| 146 | -// titleName = webView.title! | 182 | + self.webControllerUpdateNavBlock?(true, webView.title!, false , "") |
| 147 | } | 183 | } |
| 148 | // 页面加载失败时调用 | 184 | // 页面加载失败时调用 |
| 149 | func webView(_ webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: Error) { | 185 | func webView(_ webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: Error) { |
| @@ -160,8 +196,6 @@ class CNWebView:UIView,WKNavigationDelegate{ | @@ -160,8 +196,6 @@ class CNWebView:UIView,WKNavigationDelegate{ | ||
| 160 | 196 | ||
| 161 | //允许跳转 | 197 | //允许跳转 |
| 162 | decisionHandler(.allow) | 198 | decisionHandler(.allow) |
| 163 | - //不允许跳转 | ||
| 164 | - // decisionHandler(.cancel) | ||
| 165 | } | 199 | } |
| 166 | // 在发送请求之前,决定是否跳转 -> 默认允许 | 200 | // 在发送请求之前,决定是否跳转 -> 默认允许 |
| 167 | func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) { | 201 | func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) { |
| @@ -170,14 +204,8 @@ class CNWebView:UIView,WKNavigationDelegate{ | @@ -170,14 +204,8 @@ class CNWebView:UIView,WKNavigationDelegate{ | ||
| 170 | var urlStr = (navigationAction.request.url?.absoluteString)! | 204 | var urlStr = (navigationAction.request.url?.absoluteString)! |
| 171 | 205 | ||
| 172 | if navigationAction.request.url?.host == WjjH5 { | 206 | if navigationAction.request.url?.host == WjjH5 { |
| 207 | + self.webControllerUpdateNavBlock?(false, "", true , urlStr) | ||
| 173 | 208 | ||
| 174 | -// if urlStr.contains("&isWjjReport=true") || urlStr.contains("?isWjjReport=true"){ | ||
| 175 | -// self.rightNavBtns = [self.moreNavBtn] | ||
| 176 | -// self.moreNavBtn.isHidden = false | ||
| 177 | -// }else{ | ||
| 178 | -// self.moreNavBtn.isHidden = true | ||
| 179 | -// } | ||
| 180 | - | ||
| 181 | urlStr = self.checkURLWithStr(urlStr: urlStr) | 209 | urlStr = self.checkURLWithStr(urlStr: urlStr) |
| 182 | self.currentUrl = urlStr | 210 | self.currentUrl = urlStr |
| 183 | } | 211 | } |
metaCode/Classes/Main/HomePage/Controller/WebController/CNWebViewController.swift
| @@ -11,6 +11,7 @@ import WebViewJavascriptBridge | @@ -11,6 +11,7 @@ import WebViewJavascriptBridge | ||
| 11 | import CNLiveShareToolKit | 11 | import CNLiveShareToolKit |
| 12 | import CommonCrypto | 12 | import CommonCrypto |
| 13 | import CNLiveBusinessTools | 13 | import CNLiveBusinessTools |
| 14 | +import SKPhotoBrowser | ||
| 14 | 15 | ||
| 15 | 16 | ||
| 16 | let WjjH5 = "wjjh5.cnlive.com" | 17 | let WjjH5 = "wjjh5.cnlive.com" |
| @@ -21,7 +22,7 @@ class CNWebViewController:CNLiveBaseViewController ,WKNavigationDelegate{ | @@ -21,7 +22,7 @@ class CNWebViewController:CNLiveBaseViewController ,WKNavigationDelegate{ | ||
| 21 | var bridge:WKWebViewJavascriptBridge? | 22 | var bridge:WKWebViewJavascriptBridge? |
| 22 | var currentUrl:String = ""//当前网页的url | 23 | var currentUrl:String = ""//当前网页的url |
| 23 | 24 | ||
| 24 | - lazy var webView: WKWebView = { | 25 | + lazy var webView: CNWebView = { |
| 25 | let configuration = WKWebViewConfiguration() | 26 | let configuration = WKWebViewConfiguration() |
| 26 | configuration.allowsInlineMediaPlayback = true | 27 | configuration.allowsInlineMediaPlayback = true |
| 27 | let preferences = WKPreferences() | 28 | let preferences = WKPreferences() |
| @@ -30,11 +31,10 @@ class CNWebViewController:CNLiveBaseViewController ,WKNavigationDelegate{ | @@ -30,11 +31,10 @@ class CNWebViewController:CNLiveBaseViewController ,WKNavigationDelegate{ | ||
| 30 | configuration.preferences.minimumFontSize = 0.0 | 31 | configuration.preferences.minimumFontSize = 0.0 |
| 31 | configuration.preferences = preferences | 32 | configuration.preferences = preferences |
| 32 | configuration.userContentController = WKUserContentController() | 33 | configuration.userContentController = WKUserContentController() |
| 33 | - | ||
| 34 | - let webView = WKWebView(frame: CGRectMake(0, 0, Width, Height), configuration: configuration) | ||
| 35 | - webView.scrollView.showsVerticalScrollIndicator = false | ||
| 36 | - webView.scrollView.showsHorizontalScrollIndicator = false | ||
| 37 | -// webView.navigationDelegate = self | 34 | + let webView = CNWebView(frame: CGRectMake(0, 0, Width, Height), configuration: configuration, url: _url) |
| 35 | + webView.cnWebView.scrollView.showsVerticalScrollIndicator = false | ||
| 36 | + webView.cnWebView.scrollView.showsHorizontalScrollIndicator = false | ||
| 37 | + webView.isCNWebController = true | ||
| 38 | return webView | 38 | return webView |
| 39 | }() | 39 | }() |
| 40 | 40 | ||
| @@ -62,58 +62,29 @@ class CNWebViewController:CNLiveBaseViewController ,WKNavigationDelegate{ | @@ -62,58 +62,29 @@ class CNWebViewController:CNLiveBaseViewController ,WKNavigationDelegate{ | ||
| 62 | super.viewDidLoad() | 62 | super.viewDidLoad() |
| 63 | navigationBarHidden = false | 63 | navigationBarHidden = false |
| 64 | self.view.addSubview(self.webView) | 64 | self.view.addSubview(self.webView) |
| 65 | + self.webView.webControllerUpdateNavBlock = { isFinish , title,isDecidePolicy ,urlStr in | ||
| 66 | + if isFinish{ | ||
| 67 | + self.titleName = title | ||
| 68 | + }else if isDecidePolicy{ | ||
| 69 | + if urlStr.contains("&isWjjReport=true") || urlStr.contains("?isWjjReport=true"){ | ||
| 70 | + self.rightNavBtns = [self.moreNavBtn] | ||
| 71 | + self.moreNavBtn.isHidden = false | ||
| 72 | + }else{ | ||
| 73 | + self.moreNavBtn.isHidden = true | ||
| 74 | + } | ||
| 75 | + } | ||
| 76 | + } | ||
| 65 | webView.snp.makeConstraints { make in | 77 | webView.snp.makeConstraints { make in |
| 66 | make.top.equalTo(get_system_nav_height()) | 78 | make.top.equalTo(get_system_nav_height()) |
| 67 | make.left.right.bottom.equalToSuperview() | 79 | make.left.right.bottom.equalToSuperview() |
| 68 | } | 80 | } |
| 69 | - webView.evaluateJavaScript("navigator.userAgent") { [self] result, error in | ||
| 70 | - let userAgent = result as! String | ||
| 71 | - if error == nil && userAgent.count > 0 { | ||
| 72 | - if !userAgent.contains(CNLiveMCEnvironmentManager.shared.base_web_UA) { | ||
| 73 | - let newUserAgent = userAgent + CNLiveMCEnvironmentManager.shared.base_web_UA | ||
| 74 | - webView.customUserAgent = newUserAgent | ||
| 75 | - | ||
| 76 | - if (_url != nil){ | ||
| 77 | - let urlStr = self.checkURLWithStr(urlStr: _url!.absoluteString) | ||
| 78 | - self.currentUrl = urlStr | ||
| 79 | - | ||
| 80 | - webView.load(URLRequest.init(url:URL(string: urlStr)!)) | ||
| 81 | - } | ||
| 82 | - self.configBridge() | ||
| 83 | - self.configBridgeRegister() | ||
| 84 | - } | ||
| 85 | - } | ||
| 86 | - } | ||
| 87 | - } | ||
| 88 | - | ||
| 89 | - func configBridge(){ | ||
| 90 | - WKWebViewJavascriptBridge.enableLogging() | ||
| 91 | - self.bridge = WKWebViewJavascriptBridge(for: self.webView) | ||
| 92 | - self.bridge?.setWebViewDelegate(self) | ||
| 93 | - } | ||
| 94 | - //h5拉起原生分享 js call oc | ||
| 95 | - func configBridgeRegister() -> Void { | ||
| 96 | - self.bridge?.registerHandler("wjjylzgVideoShare", handler: { data, responseCallback in | ||
| 97 | -// print("js call oc\(data)") | ||
| 98 | - let dic = data as! Dictionary<String, String> | ||
| 99 | - CNLiveShareManager.showShareViewWithParam(forShareTitle: dic["title"], shareUrl: dic["shareUrl"], shareDesc: dic["subTitle"], shareImage: dic["cover"], screenFull: false, hiddenWjj: true, hiddenQQ: false, hiddenWB: true, hiddenLifeCircle: true, hiddenWechatCircle: false, hiddenWechat: false, hiddenSafari: true, formVC: self, topImage: [], topTitles: [], platformType: .all) { title in | ||
| 100 | - | ||
| 101 | - } completerBlock: { resultType, platformType, typeString in | ||
| 102 | - if resultType == .succ{ | ||
| 103 | - | ||
| 104 | - } | ||
| 105 | - } | ||
| 106 | - | ||
| 107 | - }) | ||
| 108 | } | 81 | } |
| 109 | 82 | ||
| 110 | //点击...分享获取h5参数oc call js | 83 | //点击...分享获取h5参数oc call js |
| 111 | func configBridgeCallHander() -> Void { | 84 | func configBridgeCallHander() -> Void { |
| 112 | - self.bridge?.callHandler("wjjClientGetShareParaFromJS", data: ["":""], responseCallback: { data in | 85 | + self.webView.bridge?.callHandler("wjjClientGetShareParaFromJS", data: ["":""], responseCallback: { data in |
| 113 | // print("js call oc\(data)") | 86 | // print("js call oc\(data)") |
| 114 | let dic = data as! Dictionary<String, String> | 87 | let dic = data as! Dictionary<String, String> |
| 115 | -// let shareType = dic["shareType"] | ||
| 116 | -// let contentIdStr = dic["activityId"] | ||
| 117 | let title = dic["title"] | 88 | let title = dic["title"] |
| 118 | let desc = dic["desc"] | 89 | let desc = dic["desc"] |
| 119 | let shareImg = dic["shareImg"] | 90 | let shareImg = dic["shareImg"] |
| @@ -139,143 +110,15 @@ class CNWebViewController:CNLiveBaseViewController ,WKNavigationDelegate{ | @@ -139,143 +110,15 @@ class CNWebViewController:CNLiveBaseViewController ,WKNavigationDelegate{ | ||
| 139 | }) | 110 | }) |
| 140 | } | 111 | } |
| 141 | 112 | ||
| 142 | - func checkURLWithStr(urlStr:String) -> String{ | ||
| 143 | - if URL(string: urlStr)?.host != WjjH5 { | ||
| 144 | - return urlStr//不是wjjh5不作处理 | ||
| 145 | - } | ||
| 146 | - var str = urlStr | ||
| 147 | - let date = Date() | ||
| 148 | - let formatter = DateFormatter() | ||
| 149 | - formatter.dateFormat = "yyyyMMdd" | ||
| 150 | - let dateStr = formatter.string(from: date) | ||
| 151 | - let sidStr = String(format: "%@%@", UserInfoManager.shared.userInfo.uid,dateStr) | ||
| 152 | - let signStr = sidStr.crypt(operation: CCOperation(kCCEncrypt), key: CNLiveMCEnvironmentManager.shared.appKey) | ||
| 153 | - //看是 appKey还是appKeywjj | ||
| 154 | - let sidSignStr = (signStr ?? "").isEmpty ? "" : signStr | ||
| 155 | - let sourceArray = str.components(separatedBy: "?") | ||
| 156 | - let buildVersion = Bundle.main.infoDictionary!["CFBundleVersion"] as! String | ||
| 157 | - let appVersion = Bundle.main.infoDictionary!["CFBundleShortVersionString"] as! String | ||
| 158 | - let uuid = CNLiveBusinessTools.getUidForStat(Date()) | ||
| 159 | - if sourceArray.count == 1{ | ||
| 160 | - //是wjjh5且无参数 | ||
| 161 | - str = String(format: "%@?shareSid=%@&sid=%@&plat=i&ver=%@&version=%@&wjjFrom=apple&wjjUUID=%@&appId=%@&voteId=%@&wjjToken=%@", str,UserInfoManager.shared.userInfo.uid,UserInfoManager.shared.userInfo.uid,buildVersion,appVersion,uuid,CNLiveMCEnvironmentManager.shared.appId,sidSignStr!,UserInfoManager.shared.userInfo.token) | ||
| 162 | - return str | ||
| 163 | - } | ||
| 164 | - //是wjjh5且有参数 | ||
| 165 | - let paraArr = NSMutableArray(array: ["shareSid=","sid=","plat=","ver=","version=","wjjFrom=","wjjUUID=","appId=","voteId=","wjjToken="]) | ||
| 166 | - let valueArr = NSMutableArray(array:[UserInfoManager.shared.userInfo.uid,UserInfoManager.shared.userInfo.uid,"i",buildVersion,appVersion,"apple",uuid,CNLiveMCEnvironmentManager.shared.appId,sidSignStr!,UserInfoManager.shared.userInfo.token]) | ||
| 167 | - var i = 0 | ||
| 168 | - for paraStr in paraArr{ | ||
| 169 | - let tempStr = paraStr as! String | ||
| 170 | - let paramStr = "&".appending(tempStr) | ||
| 171 | - let paramStr2 = "?".appending(tempStr) | ||
| 172 | - | ||
| 173 | - if str.contains(paramStr){ | ||
| 174 | - //包含则替换 &sid= | ||
| 175 | - let lastStr = str.components(separatedBy: tempStr).last | ||
| 176 | - let lastSeparatedStr = (lastStr?.components(separatedBy: "&").first)! | ||
| 177 | - let oldStr = tempStr.appending(lastSeparatedStr) | ||
| 178 | - let tempValueStr = tempStr.appending(valueArr[i] as! String) | ||
| 179 | - str = str.replacingOccurrences(of: oldStr, with: tempValueStr) | ||
| 180 | - }else if str.contains(paramStr2){ | ||
| 181 | - //包含则替换 &sid= | ||
| 182 | - let lastStr = str.components(separatedBy: tempStr).last | ||
| 183 | - let lastSeparatedStr = (lastStr?.components(separatedBy: "&").first)! | ||
| 184 | - let oldStr = tempStr.appending(lastSeparatedStr) | ||
| 185 | - let tempValueStr = tempStr.appending(valueArr[i] as! String) | ||
| 186 | - str = str.replacingOccurrences(of: oldStr, with: tempValueStr) | ||
| 187 | - }else{ | ||
| 188 | - //不包含则拼接 | ||
| 189 | - str = String(format: "%@&%@%@", str,tempStr,valueArr[i] as! String) | ||
| 190 | - } | ||
| 191 | - i = i + 1 | ||
| 192 | - } | ||
| 193 | - return str | ||
| 194 | - } | ||
| 195 | - | ||
| 196 | - // MARK: - BtnAction | ||
| 197 | - // 内部链接右上角···分享 | 113 | + // MARK: - 内部链接右上角···分享 |
| 198 | @objc func moreNavBtnAction(){ | 114 | @objc func moreNavBtnAction(){ |
| 199 | self.configBridgeCallHander() | 115 | self.configBridgeCallHander() |
| 200 | } | 116 | } |
| 201 | override func ClickBackBtn() { | 117 | override func ClickBackBtn() { |
| 202 | - if self.webView.canGoBack{ | ||
| 203 | - self.webView.goBack() | 118 | + if self.webView.cnWebView.canGoBack{ |
| 119 | + self.webView.cnWebView.goBack() | ||
| 204 | }else{ | 120 | }else{ |
| 205 | super.ClickBackBtn() | 121 | super.ClickBackBtn() |
| 206 | } | 122 | } |
| 207 | } | 123 | } |
| 208 | - | ||
| 209 | - // MARK: - WKWebViewDelegate | ||
| 210 | - // 页面开始加载时调用 | ||
| 211 | - func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) { | ||
| 212 | -// print("didStartProvisionalNavigation") | ||
| 213 | - } | ||
| 214 | - // 当内容开始返回时调用 | ||
| 215 | - func webView(_ webView: WKWebView, didCommit navigation: WKNavigation!) { | ||
| 216 | -// print("didCommit") | ||
| 217 | - } | ||
| 218 | - | ||
| 219 | - // 页面加载完成之后调用 | ||
| 220 | - func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { | ||
| 221 | -// print("didFinish") | ||
| 222 | - titleName = webView.title! | ||
| 223 | - } | ||
| 224 | - // 页面加载失败时调用 | ||
| 225 | - func webView(_ webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: Error) { | ||
| 226 | -// print("didFailProvisionalNavigation") | ||
| 227 | - } | ||
| 228 | - // 接收到服务器跳转请求之后调用 | ||
| 229 | - func webView(_ webView: WKWebView, didReceiveServerRedirectForProvisionalNavigation navigation: WKNavigation!) { | ||
| 230 | -// print("didReceiveServerRedirectForProvisionalNavigation") | ||
| 231 | - } | ||
| 232 | - // 在收到响应后,决定是否跳转 -> 默认允许 | ||
| 233 | - func webView(_ webView: WKWebView, decidePolicyFor navigationResponse: WKNavigationResponse, decisionHandler: @escaping (WKNavigationResponsePolicy) -> Void) { | ||
| 234 | - | ||
| 235 | -// print("decidePolicyFornavigationResponse") | ||
| 236 | - | ||
| 237 | - //允许跳转 | ||
| 238 | - decisionHandler(.allow) | ||
| 239 | - //不允许跳转 | ||
| 240 | - // decisionHandler(.cancel) | ||
| 241 | - } | ||
| 242 | - // 在发送请求之前,决定是否跳转 -> 默认允许 | ||
| 243 | - func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) { | ||
| 244 | -// print("decidePolicyFornavigationAction") | ||
| 245 | - | ||
| 246 | - var urlStr = (navigationAction.request.url?.absoluteString)! | ||
| 247 | - | ||
| 248 | - if navigationAction.request.url?.host == WjjH5 { | ||
| 249 | - | ||
| 250 | - if urlStr.contains("&isWjjReport=true") || urlStr.contains("?isWjjReport=true"){ | ||
| 251 | - self.rightNavBtns = [self.moreNavBtn] | ||
| 252 | - self.moreNavBtn.isHidden = false | ||
| 253 | - }else{ | ||
| 254 | - self.moreNavBtn.isHidden = true | ||
| 255 | - } | ||
| 256 | - | ||
| 257 | - urlStr = self.checkURLWithStr(urlStr: urlStr) | ||
| 258 | - self.currentUrl = urlStr | ||
| 259 | - } | ||
| 260 | - | ||
| 261 | - if navigationAction.navigationType == .other{ | ||
| 262 | - //跳转Appstore | ||
| 263 | - let url = URL(string: "https://apps.apple.com/cn/app/%E7%BD%91%E5%AE%B6%E5%AE%B6%E5%95%86%E5%AE%B6%E7%89%88/id1337575497") | ||
| 264 | - if url == navigationAction.request.url { | ||
| 265 | - if UIApplication.shared.canOpenURL(url!) { UIApplication.shared.open(url!, options: [:], completionHandler: nil) | ||
| 266 | - } | ||
| 267 | - } | ||
| 268 | - }else if navigationAction.navigationType == .linkActivated{ | ||
| 269 | - | ||
| 270 | - //以后可判断h5地址 ,可跳转原生页面或网页 | ||
| 271 | - //暂时只跳h5 | ||
| 272 | - let webVC = CNWebViewController() | ||
| 273 | - webVC.url = URL(string: urlStr) | ||
| 274 | - navigationViewController().pushViewController(webVC, animated: pushAnimated) | ||
| 275 | - decisionHandler(.cancel) | ||
| 276 | - return | ||
| 277 | - | ||
| 278 | - } | ||
| 279 | - decisionHandler(.allow) | ||
| 280 | - } | ||
| 281 | } | 124 | } |
metaCode/Classes/Main/HomePage/View/VerticalViews/CNCustomIndexView.swift
| @@ -131,20 +131,6 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange | @@ -131,20 +131,6 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange | ||
| 131 | 131 | ||
| 132 | } | 132 | } |
| 133 | 133 | ||
| 134 | -// private(set) var userInfo: UserInfoModel { | ||
| 135 | -// | ||
| 136 | -// set { | ||
| 137 | -// _userInfo = newValue | ||
| 138 | -// } | ||
| 139 | -// | ||
| 140 | -// get { | ||
| 141 | -// if _userInfo != nil && (_userInfo?.uid.count)! > 0 { | ||
| 142 | -// return _userInfo! | ||
| 143 | -// } | ||
| 144 | -// return UserInfoManager.readUserInfo() | ||
| 145 | -// } | ||
| 146 | -// } | ||
| 147 | - | ||
| 148 | // MARK: - 懒加载 | 134 | // MARK: - 懒加载 |
| 149 | 135 | ||
| 150 | ///颜色数据 | 136 | ///颜色数据 |
| @@ -269,12 +255,6 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange | @@ -269,12 +255,6 @@ class CNCustomIndexView:PGIndexBannerSubiew, UIScrollViewDelegate, WJColorChange | ||
| 269 | self.baseScrollView.setContentOffset(CGPointMake(0, self.frame.size.height), animated: true) | 255 | self.baseScrollView.setContentOffset(CGPointMake(0, self.frame.size.height), animated: true) |
| 270 | } | 256 | } |
| 271 | 257 | ||
| 272 | -// func addCustomGestureRecognizer(){ | ||
| 273 | -// let singleTap: UITapGestureRecognizer = UITapGestureRecognizer.init(target: self, action: #selector(singleCellTapAction)) | ||
| 274 | -// | ||
| 275 | -// self.addGestureRecognizer(singleTap) | ||
| 276 | -// } | ||
| 277 | - | ||
| 278 | // MARK: - 设置前置视图容器 | 258 | // MARK: - 设置前置视图容器 |
| 279 | func isHiddenMainFrontContentView(isHidden:Bool){ | 259 | func isHiddenMainFrontContentView(isHidden:Bool){ |
| 280 | self.mainView.isHiddenMainFrontContentView(isHidden: isHidden) | 260 | self.mainView.isHiddenMainFrontContentView(isHidden: isHidden) |
metaCode/Classes/Main/HomePage/View/VerticalViews/DownSlide/CNDownSlideSingleCourseCell.swift
| @@ -107,7 +107,16 @@ class CNDownSlideSingleCourseCell: UITableViewCell { | @@ -107,7 +107,16 @@ class CNDownSlideSingleCourseCell: UITableViewCell { | ||
| 107 | bgBackView.layer.cornerRadius = 12 | 107 | bgBackView.layer.cornerRadius = 12 |
| 108 | bgBackView.backgroundColor = .white | 108 | bgBackView.backgroundColor = .white |
| 109 | 109 | ||
| 110 | - let titleLbl = UILabel(frame: CGRect(x: DownSlideRecommendLeftGap, y: DownSlideRecommendLeftGap, width: DownSlideSingleCourseW-DownSlideRecommendLeftGap*2, height: 30)) | 110 | + var titleTop:CGFloat = DownSlideRecommendLeftGap |
| 111 | + if model.blockSubTitle?.count ?? 0 > 0{ | ||
| 112 | + let subtitleLbl = UILabel(frame: CGRect(x: DownSlideRecommendLeftGap, y: DownSlideRecommendLeftGap, width: DownSlideSingleCourseW-DownSlideRecommendLeftGap*2, height: 17)) | ||
| 113 | + subtitleLbl.text = model.blockSubTitle | ||
| 114 | + subtitleLbl.font = Font_12 | ||
| 115 | + subtitleLbl.textColor = HexColor("#999999") | ||
| 116 | + bgBackView.addSubview(subtitleLbl) | ||
| 117 | + titleTop = DownSlideRecommendLeftGap+17+1 | ||
| 118 | + } | ||
| 119 | + let titleLbl = UILabel(frame: CGRect(x: DownSlideRecommendLeftGap, y: titleTop, width: DownSlideSingleCourseW-DownSlideRecommendLeftGap*2, height: 30)) | ||
| 111 | titleLbl.text = model.blockName ?? "全部课程" | 120 | titleLbl.text = model.blockName ?? "全部课程" |
| 112 | titleLbl.font = BoldFont_21 | 121 | titleLbl.font = BoldFont_21 |
| 113 | titleLbl.textColor = HexColor("#333333") | 122 | titleLbl.textColor = HexColor("#333333") |
metaCode/Classes/Main/HomePage/View/VerticalViews/MainView/CNHomePageGuideView.swift
metaCode/Classes/Main/HomePage/View/VerticalViews/MainView/CNIDCardView.swift
| @@ -17,7 +17,7 @@ class CNIDCardView: UIView{ | @@ -17,7 +17,7 @@ class CNIDCardView: UIView{ | ||
| 17 | } | 17 | } |
| 18 | set{ | 18 | set{ |
| 19 | _idModel = newValue | 19 | _idModel = newValue |
| 20 | - self.iDCardBGView.kf.setImage(with: URL(string: _idModel!.cardImg), placeholder: UIImage(named: "homePage_idCardBG")) | 20 | + self.iDCardBGView.kf.setImage(with: URL(string: _idModel!.cardImg)) |
| 21 | if _idModel?.id == 9{ | 21 | if _idModel?.id == 9{ |
| 22 | //电商 , 拼接数据 | 22 | //电商 , 拼接数据 |
| 23 | let nameArr = ["公司名称","认证时间","编号"] | 23 | let nameArr = ["公司名称","认证时间","编号"] |
metaCode/Classes/Main/HomePage/View/VerticalViews/MainView/CNMainView.swift
| @@ -512,14 +512,14 @@ class CNFrontMainView : UIView{ | @@ -512,14 +512,14 @@ class CNFrontMainView : UIView{ | ||
| 512 | //有企业认证显示提示lbl | 512 | //有企业认证显示提示lbl |
| 513 | if idModel!.enterpriseAuth{ | 513 | if idModel!.enterpriseAuth{ |
| 514 | self.enterpriseTipsLabel.isHidden = false | 514 | self.enterpriseTipsLabel.isHidden = false |
| 515 | - self.enterpriseTipsLabel.textColor = HexColor(newValue!.backgroundColor) | 515 | + self.enterpriseTipsLabel.textColor = HexColor(newValue!.tipsColour) |
| 516 | }else{ | 516 | }else{ |
| 517 | self.enterpriseTipsLabel.isHidden = true | 517 | self.enterpriseTipsLabel.isHidden = true |
| 518 | } | 518 | } |
| 519 | //有机构认证显示提示lbl | 519 | //有机构认证显示提示lbl |
| 520 | if idModel!.agencyAuth{ | 520 | if idModel!.agencyAuth{ |
| 521 | self.agencyTipsLabel.isHidden = false | 521 | self.agencyTipsLabel.isHidden = false |
| 522 | - self.agencyTipsLabel.textColor = HexColor(newValue!.backgroundColor) | 522 | + self.agencyTipsLabel.textColor = HexColor(newValue!.tipsColour) |
| 523 | }else{ | 523 | }else{ |
| 524 | self.agencyTipsLabel.isHidden = false | 524 | self.agencyTipsLabel.isHidden = false |
| 525 | } | 525 | } |
| @@ -833,7 +833,7 @@ class CNBackMainView : UIView{ | @@ -833,7 +833,7 @@ class CNBackMainView : UIView{ | ||
| 833 | lazy var imageView:UIImageView = { | 833 | lazy var imageView:UIImageView = { |
| 834 | 834 | ||
| 835 | let tempImageView:UIImageView = UIImageView(frame: CGRect(x: 10, y: 10, width: self.width-20, height: self.height - 20)) | 835 | let tempImageView:UIImageView = UIImageView(frame: CGRect(x: 10, y: 10, width: self.width-20, height: self.height - 20)) |
| 836 | - tempImageView.image = UIImage(named: "homePage_backViewImage") | 836 | + tempImageView.image = UIImage(named: "") |
| 837 | 837 | ||
| 838 | return tempImageView | 838 | return tempImageView |
| 839 | }() | 839 | }() |
| @@ -943,13 +943,6 @@ class CNMainView : UIView{ | @@ -943,13 +943,6 @@ class CNMainView : UIView{ | ||
| 943 | 943 | ||
| 944 | 944 | ||
| 945 | self.backView.isHidden = true; | 945 | self.backView.isHidden = true; |
| 946 | - | ||
| 947 | -// self.layer.cornerRadius = 20; | ||
| 948 | -// self.layer.shadowOpacity = 1; | ||
| 949 | -// self.layer.shadowColor = UIColor("#eeeeee")?.cgColor | ||
| 950 | -// self.layer.shadowOffset = CGSize(width: 10, height: 10) | ||
| 951 | -// self.layer.shadowRadius = 10; | ||
| 952 | - | ||
| 953 | } | 946 | } |
| 954 | 947 | ||
| 955 | // MARK: -设置前置视图容器 | 948 | // MARK: -设置前置视图容器 |
metaCode/Classes/Main/HomePages/Controller/AuthController/CNLiveAuthViewController.swift renamed to metaCode/Classes/Main/HomePages/Controller/HomeController/CNLiveAuthViewController.swift
metaCode/Classes/Main/HomePages/Controller/AuthController/push相关/CNHomePageAnimationTransition.swift renamed to metaCode/Classes/Main/HomePages/Controller/HomeController/push相关/CNHomePageAnimationTransition.swift
| @@ -69,12 +69,14 @@ extension CNHomePageAnimationTransition: UIViewControllerAnimatedTransitioning { | @@ -69,12 +69,14 @@ extension CNHomePageAnimationTransition: UIViewControllerAnimatedTransitioning { | ||
| 69 | if fromNaviVC.topViewController is CNHomepageDuanJuDetailViewController{ | 69 | if fromNaviVC.topViewController is CNHomepageDuanJuDetailViewController{ |
| 70 | guard let selectedCell = toVC.selectedDuanjuCell else { return } | 70 | guard let selectedCell = toVC.selectedDuanjuCell else { return } |
| 71 | let fromVC = fromNaviVC.topViewController as! CNHomepageDuanJuDetailViewController | 71 | let fromVC = fromNaviVC.topViewController as! CNHomepageDuanJuDetailViewController |
| 72 | + | ||
| 73 | + fromVC.view.isHidden = true | ||
| 72 | UIView.animate(withDuration: transitonDuration - 0.8, delay: 0, usingSpringWithDamping: 0.8, initialSpringVelocity: 0, options: [], animations: { | 74 | UIView.animate(withDuration: transitonDuration - 0.8, delay: 0, usingSpringWithDamping: 0.8, initialSpringVelocity: 0, options: [], animations: { |
| 73 | let frame = selectedCell.convert(selectedCell.totalView.frame, to: toVC.view) | 75 | let frame = selectedCell.convert(selectedCell.totalView.frame, to: toVC.view) |
| 74 | fromVC.view.frame = frame | 76 | fromVC.view.frame = frame |
| 75 | fromVC.view.layer.cornerRadius = GlobalConstants.toDayCardCornerRadius | 77 | fromVC.view.layer.cornerRadius = GlobalConstants.toDayCardCornerRadius |
| 76 | fromVC.closeBtn.alpha = 0 | 78 | fromVC.closeBtn.alpha = 0 |
| 77 | - fromVC.tableView.alpha = 0 | 79 | + |
| 78 | }) { (completed) in | 80 | }) { (completed) in |
| 79 | transitionContext.completeTransition(completed) | 81 | transitionContext.completeTransition(completed) |
| 80 | } | 82 | } |
metaCode/Classes/Main/HomePages/Controller/AuthController/push相关/CNHomePageBaseNavigationController.swift renamed to metaCode/Classes/Main/HomePages/Controller/HomeController/push相关/CNHomePageBaseNavigationController.swift
metaCode/Classes/Main/HomePages/Controller/AuthController/push相关/CNHomepageDetailViewController.swift renamed to metaCode/Classes/Main/HomePages/Controller/HomeController/push相关/CNHomepageDetailViewController.swift
metaCode/Classes/Main/HomePages/Controller/AuthController/push相关/CNHomepageDuanJuDetailViewController.swift renamed to metaCode/Classes/Main/HomePages/Controller/HomeController/push相关/CNHomepageDuanJuDetailViewController.swift
metaCode/Classes/Main/MinePage/ViewModel/CNLiveMineBaseModel.swift
| @@ -147,6 +147,7 @@ final class StandListModel: BaseModel {//, TableCodable { | @@ -147,6 +147,7 @@ final class StandListModel: BaseModel {//, TableCodable { | ||
| 147 | var backgroundColor: String = kCNDownSlideBackgroundColorHex//企业认证按钮背景色- | 147 | var backgroundColor: String = kCNDownSlideBackgroundColorHex//企业认证按钮背景色- |
| 148 | var atPersonageColour: String = kCNDownSlideBackgroundColorHex//个人认证按钮背景色- | 148 | var atPersonageColour: String = kCNDownSlideBackgroundColorHex//个人认证按钮背景色- |
| 149 | var backgroundColour: String = ""//- | 149 | var backgroundColour: String = ""//- |
| 150 | + var tipsColour: String = ""//-企业,机构 提醒文本颜色 | ||
| 150 | var description: String = ""//首页身份说明描述- | 151 | var description: String = ""//首页身份说明描述- |
| 151 | var descBackgroundImg: String = ""//首页文字背景图 | 152 | var descBackgroundImg: String = ""//首页文字背景图 |
| 152 | var cardImg: String = ""//卡片背景图- | 153 | var cardImg: String = ""//卡片背景图- |
metaCode/Classes/Main/Model/CNLiveDownSlideModel.swift
| @@ -13,6 +13,8 @@ class CNLiveDownSlideModel: BaseModel { | @@ -13,6 +13,8 @@ class CNLiveDownSlideModel: BaseModel { | ||
| 13 | var blockId: String? | 13 | var blockId: String? |
| 14 | ///大块标题 | 14 | ///大块标题 |
| 15 | var blockName: String? | 15 | var blockName: String? |
| 16 | + ///大块副标题 | ||
| 17 | + var blockSubTitle: String? | ||
| 16 | ///类型 type=4一排两个 74今日推荐 12列表全部课程 75单课程大图/ | 18 | ///类型 type=4一排两个 74今日推荐 12列表全部课程 75单课程大图/ |
| 17 | var type: String? | 19 | var type: String? |
| 18 | ///显示几行 | 20 | ///显示几行 |
metaCode/Classes/Main/Util/CNUpSlideAnimationTransition.swift
| @@ -150,6 +150,7 @@ extension CNUpSlideAnimationTransition: UIViewControllerAnimatedTransitioning { | @@ -150,6 +150,7 @@ extension CNUpSlideAnimationTransition: UIViewControllerAnimatedTransitioning { | ||
| 150 | if fromNaviVC.topViewController is CNUpSlideDetailViewController{ | 150 | if fromNaviVC.topViewController is CNUpSlideDetailViewController{ |
| 151 | guard let selectedCell = toVC.selectedCell else { return } | 151 | guard let selectedCell = toVC.selectedCell else { return } |
| 152 | let fromVC = fromNaviVC.topViewController as! CNUpSlideDetailViewController | 152 | let fromVC = fromNaviVC.topViewController as! CNUpSlideDetailViewController |
| 153 | + fromVC.view.isHidden = true | ||
| 153 | 154 | ||
| 154 | UIView.animate(withDuration: transitonDuration - 0.8, delay: 0, usingSpringWithDamping: 0.8, initialSpringVelocity: 0, options: [], animations: { | 155 | UIView.animate(withDuration: transitonDuration - 0.8, delay: 0, usingSpringWithDamping: 0.8, initialSpringVelocity: 0, options: [], animations: { |
| 155 | let frame = selectedCell.convert(selectedCell.bgBackView.frame, to: toVC.view) | 156 | let frame = selectedCell.convert(selectedCell.bgBackView.frame, to: toVC.view) |
| @@ -158,13 +159,14 @@ extension CNUpSlideAnimationTransition: UIViewControllerAnimatedTransitioning { | @@ -158,13 +159,14 @@ extension CNUpSlideAnimationTransition: UIViewControllerAnimatedTransitioning { | ||
| 158 | fromVC.scrollView.imageView.frame.size.width = GlobalConstants.todayCardSize.width | 159 | fromVC.scrollView.imageView.frame.size.width = GlobalConstants.todayCardSize.width |
| 159 | fromVC.scrollView.imageView.frame.size.height = GlobalConstants.todayCardSize.height | 160 | fromVC.scrollView.imageView.frame.size.height = GlobalConstants.todayCardSize.height |
| 160 | fromVC.closeBtn.alpha = 0 | 161 | fromVC.closeBtn.alpha = 0 |
| 161 | - fromVC.tableView.alpha = 0 | 162 | + |
| 162 | }) { (completed) in | 163 | }) { (completed) in |
| 163 | transitionContext.completeTransition(completed) | 164 | transitionContext.completeTransition(completed) |
| 164 | } | 165 | } |
| 165 | }else if fromNaviVC.topViewController is CNHomepageDuanJuDetailViewController{ | 166 | }else if fromNaviVC.topViewController is CNHomepageDuanJuDetailViewController{ |
| 166 | guard let selectedCell = toVC.selectedDuanjuCell else { return } | 167 | guard let selectedCell = toVC.selectedDuanjuCell else { return } |
| 167 | let fromVC = fromNaviVC.topViewController as! CNHomepageDuanJuDetailViewController | 168 | let fromVC = fromNaviVC.topViewController as! CNHomepageDuanJuDetailViewController |
| 169 | + fromVC.view.isHidden = true | ||
| 168 | UIView.animate(withDuration: transitonDuration - 0.8, delay: 0, usingSpringWithDamping: 0.8, initialSpringVelocity: 0, options: [], animations: { | 170 | UIView.animate(withDuration: transitonDuration - 0.8, delay: 0, usingSpringWithDamping: 0.8, initialSpringVelocity: 0, options: [], animations: { |
| 169 | let frame = selectedCell.convert(selectedCell.totalView.frame, to: toVC.view) | 171 | let frame = selectedCell.convert(selectedCell.totalView.frame, to: toVC.view) |
| 170 | fromVC.view.frame = frame | 172 | fromVC.view.frame = frame |
| @@ -184,7 +186,7 @@ extension CNUpSlideAnimationTransition: UIViewControllerAnimatedTransitioning { | @@ -184,7 +186,7 @@ extension CNUpSlideAnimationTransition: UIViewControllerAnimatedTransitioning { | ||
| 184 | guard let toVC = transitionContext.viewController(forKey: .to) as? CNUpSlideViewController else { return } | 186 | guard let toVC = transitionContext.viewController(forKey: .to) as? CNUpSlideViewController else { return } |
| 185 | guard let selectedCell = toVC.selectedCell else { return } | 187 | guard let selectedCell = toVC.selectedCell else { return } |
| 186 | let fromVC = fromNaviVC.topViewController as! CNUpSlideDetailViewController | 188 | let fromVC = fromNaviVC.topViewController as! CNUpSlideDetailViewController |
| 187 | - | 189 | + fromVC.view.isHidden = true |
| 188 | UIView.animate(withDuration: transitonDuration - 0.8, delay: 0, usingSpringWithDamping: 0.8, initialSpringVelocity: 0, options: [], animations: { | 190 | UIView.animate(withDuration: transitonDuration - 0.8, delay: 0, usingSpringWithDamping: 0.8, initialSpringVelocity: 0, options: [], animations: { |
| 189 | let frame = selectedCell.convert(selectedCell.bgBackView.frame, to: toVC.view) | 191 | let frame = selectedCell.convert(selectedCell.bgBackView.frame, to: toVC.view) |
| 190 | fromVC.view.frame = frame | 192 | fromVC.view.frame = frame |
| @@ -205,6 +207,7 @@ extension CNUpSlideAnimationTransition: UIViewControllerAnimatedTransitioning { | @@ -205,6 +207,7 @@ extension CNUpSlideAnimationTransition: UIViewControllerAnimatedTransitioning { | ||
| 205 | guard let selectedCell = toVC.selectedCell else { return } | 207 | guard let selectedCell = toVC.selectedCell else { return } |
| 206 | if fromNaviVC.topViewController is CNUpSlideDetailViewController{ | 208 | if fromNaviVC.topViewController is CNUpSlideDetailViewController{ |
| 207 | let fromVC = fromNaviVC.topViewController as! CNUpSlideDetailViewController | 209 | let fromVC = fromNaviVC.topViewController as! CNUpSlideDetailViewController |
| 210 | + fromVC.view.isHidden = true | ||
| 208 | UIView.animate(withDuration: transitonDuration - 0.8, delay: 0, usingSpringWithDamping: 0.8, initialSpringVelocity: 0, options: [], animations: { | 211 | UIView.animate(withDuration: transitonDuration - 0.8, delay: 0, usingSpringWithDamping: 0.8, initialSpringVelocity: 0, options: [], animations: { |
| 209 | let frame = selectedCell.convert(selectedCell.bgBackView.frame, to: toVC.view) | 212 | let frame = selectedCell.convert(selectedCell.bgBackView.frame, to: toVC.view) |
| 210 | fromVC.view.frame = frame | 213 | fromVC.view.frame = frame |
metaCode/Supporting Files/Assets.xcassets/RenzhenPage/homePage_backViewImage.imageset/4671683516653_.pic.jpg deleted
100644 → 0
82.2 KB
metaCode/Supporting Files/Assets.xcassets/RenzhenPage/homePage_backViewImage.imageset/Contents.json deleted
100644 → 0
| 1 | -{ | ||
| 2 | - "images" : [ | ||
| 3 | - { | ||
| 4 | - "filename" : "4671683516653_.pic.jpg", | ||
| 5 | - "idiom" : "universal", | ||
| 6 | - "scale" : "1x" | ||
| 7 | - }, | ||
| 8 | - { | ||
| 9 | - "idiom" : "universal", | ||
| 10 | - "scale" : "2x" | ||
| 11 | - }, | ||
| 12 | - { | ||
| 13 | - "idiom" : "universal", | ||
| 14 | - "scale" : "3x" | ||
| 15 | - } | ||
| 16 | - ], | ||
| 17 | - "info" : { | ||
| 18 | - "author" : "xcode", | ||
| 19 | - "version" : 1 | ||
| 20 | - } | ||
| 21 | -} |
metaCode/Supporting Files/Assets.xcassets/RenzhenPage/homePage_idCardBG.imageset/Contents.json deleted
100644 → 0
| 1 | -{ | ||
| 2 | - "images" : [ | ||
| 3 | - { | ||
| 4 | - "idiom" : "universal", | ||
| 5 | - "scale" : "1x" | ||
| 6 | - }, | ||
| 7 | - { | ||
| 8 | - "filename" : "homePage_idCardBG@2x.png", | ||
| 9 | - "idiom" : "universal", | ||
| 10 | - "scale" : "2x" | ||
| 11 | - }, | ||
| 12 | - { | ||
| 13 | - "filename" : "homePage_idCardBG@3x.png", | ||
| 14 | - "idiom" : "universal", | ||
| 15 | - "scale" : "3x" | ||
| 16 | - } | ||
| 17 | - ], | ||
| 18 | - "info" : { | ||
| 19 | - "author" : "xcode", | ||
| 20 | - "version" : 1 | ||
| 21 | - } | ||
| 22 | -} |
metaCode/Supporting Files/Assets.xcassets/RenzhenPage/homePage_idCardBG.imageset/homePage_idCardBG@2x.png deleted
100644 → 0
19.2 KB
metaCode/Supporting Files/Assets.xcassets/RenzhenPage/homePage_idCardBG.imageset/homePage_idCardBG@3x.png deleted
100644 → 0
36.6 KB
metaCode/Supporting Files/Assets.xcassets/RenzhenPage/homePage_mainView_front.imageset/Contents.json deleted
100644 → 0
| 1 | -{ | ||
| 2 | - "images" : [ | ||
| 3 | - { | ||
| 4 | - "idiom" : "universal", | ||
| 5 | - "scale" : "1x" | ||
| 6 | - }, | ||
| 7 | - { | ||
| 8 | - "filename" : "证件@2x.png", | ||
| 9 | - "idiom" : "universal", | ||
| 10 | - "scale" : "2x" | ||
| 11 | - }, | ||
| 12 | - { | ||
| 13 | - "filename" : "证件@3x.png", | ||
| 14 | - "idiom" : "universal", | ||
| 15 | - "scale" : "3x" | ||
| 16 | - } | ||
| 17 | - ], | ||
| 18 | - "info" : { | ||
| 19 | - "author" : "xcode", | ||
| 20 | - "version" : 1 | ||
| 21 | - } | ||
| 22 | -} |
metaCode/Supporting Files/Assets.xcassets/RenzhenPage/homePage_mainView_front.imageset/证件@2x.png deleted
100644 → 0
35.9 KB
metaCode/Supporting Files/Assets.xcassets/RenzhenPage/homePage_mainView_front.imageset/证件@3x.png deleted
100644 → 0
67.6 KB
metaCode/Supporting Files/Assets.xcassets/RenzhenPage/homePage_payMoneyImage.imageset/4651683514228_.pic.jpg deleted
100644 → 0
52.1 KB
metaCode/Supporting Files/Assets.xcassets/RenzhenPage/homePage_payMoneyImage.imageset/Contents.json deleted
100644 → 0
| 1 | -{ | ||
| 2 | - "images" : [ | ||
| 3 | - { | ||
| 4 | - "idiom" : "universal", | ||
| 5 | - "scale" : "1x" | ||
| 6 | - }, | ||
| 7 | - { | ||
| 8 | - "filename" : "4651683514228_.pic.jpg", | ||
| 9 | - "idiom" : "universal", | ||
| 10 | - "scale" : "2x" | ||
| 11 | - }, | ||
| 12 | - { | ||
| 13 | - "idiom" : "universal", | ||
| 14 | - "scale" : "3x" | ||
| 15 | - } | ||
| 16 | - ], | ||
| 17 | - "info" : { | ||
| 18 | - "author" : "xcode", | ||
| 19 | - "version" : 1 | ||
| 20 | - } | ||
| 21 | -} |
metaCode/Supporting Files/Assets.xcassets/RenzhenPage/homePage_topImage.imageset/4771683609542_.pic.jpg deleted
100644 → 0
230 KB
metaCode/Supporting Files/Assets.xcassets/RenzhenPage/homePage_topImage.imageset/Contents.json deleted
100644 → 0
| 1 | -{ | ||
| 2 | - "images" : [ | ||
| 3 | - { | ||
| 4 | - "idiom" : "universal", | ||
| 5 | - "scale" : "1x" | ||
| 6 | - }, | ||
| 7 | - { | ||
| 8 | - "filename" : "4771683609542_.pic.jpg", | ||
| 9 | - "idiom" : "universal", | ||
| 10 | - "scale" : "2x" | ||
| 11 | - }, | ||
| 12 | - { | ||
| 13 | - "idiom" : "universal", | ||
| 14 | - "scale" : "3x" | ||
| 15 | - } | ||
| 16 | - ], | ||
| 17 | - "info" : { | ||
| 18 | - "author" : "xcode", | ||
| 19 | - "version" : 1 | ||
| 20 | - } | ||
| 21 | -} |
metaCode/Supporting Files/Assets.xcassets/RenzhenPage/homePage_zhongguorenming_bank.imageset/4431683250159_.pic.jpg deleted
100644 → 0
79.4 KB
metaCode/Supporting Files/Assets.xcassets/RenzhenPage/homePage_zhongguorenming_bank.imageset/Contents.json deleted
100644 → 0
| 1 | -{ | ||
| 2 | - "images" : [ | ||
| 3 | - { | ||
| 4 | - "idiom" : "universal", | ||
| 5 | - "scale" : "1x" | ||
| 6 | - }, | ||
| 7 | - { | ||
| 8 | - "filename" : "4431683250159_.pic.jpg", | ||
| 9 | - "idiom" : "universal", | ||
| 10 | - "scale" : "2x" | ||
| 11 | - }, | ||
| 12 | - { | ||
| 13 | - "idiom" : "universal", | ||
| 14 | - "scale" : "3x" | ||
| 15 | - } | ||
| 16 | - ], | ||
| 17 | - "info" : { | ||
| 18 | - "author" : "xcode", | ||
| 19 | - "version" : 1 | ||
| 20 | - } | ||
| 21 | -} |