Commit 4ed6e7a7dc766754c90c492010b3ff594eb18404

Authored by 张旭
1 parent 75b5e01a

短剧,课程 详情页添加分页请求

metaCode/Classes/Main/HomePage/Controller/DownSlideController/CNUpSlideDetailViewController.swift
@@ -3,8 +3,8 @@ @@ -3,8 +3,8 @@
3 // metaCode 3 // metaCode
4 // 4 //
5 // Created by zx on 2023/10/16. 5 // Created by zx on 2023/10/16.
6 -// 认证-下滑页原生页--课程 大图点击详情页  
7 -// 首页原生页--短剧 大图点击详情页 6 +// 认证-下滑页原生页--课程 大图课程详情页/全部课程详情页
  7 +// 首页原生页--短剧 大图详情页
8 8
9 import Foundation 9 import Foundation
10 import MJRefresh 10 import MJRefresh
@@ -91,35 +91,38 @@ class CNUpSlideDetailViewController: CNLiveBaseViewController,UITableViewDataSou @@ -91,35 +91,38 @@ class CNUpSlideDetailViewController: CNLiveBaseViewController,UITableViewDataSou
91 override func viewDidLoad() { 91 override func viewDidLoad() {
92 super.viewDidLoad() 92 super.viewDidLoad()
93 setupUI() 93 setupUI()
94 - getImageFromCell()  
95 - if self.cellType == .playlet{ 94 +// getImageFromCell()
  95 +// if self.cellType == .playlet{
96 self.getBlockContents(page: 1) 96 self.getBlockContents(page: 1)
97 - } 97 +// }
98 } 98 }
99 99
100 private func setupUI() { 100 private func setupUI() {
101 self.view.layer.masksToBounds = true 101 self.view.layer.masksToBounds = true
  102 + self.view.addSubview(self.tableView)
  103 + self.tableView.frame = CGRect(x: 0, y: 0, width: KSreenWidth, height: KSreenHeight)
  104 +
102 if self.cellType == .playlet{//短剧 大图 105 if self.cellType == .playlet{//短剧 大图
103 - self.view.addSubview(self.tableView)  
104 - self.tableView.frame = CGRect(x: 0, y: 0, width: KSreenWidth, height: KSreenHeight)  
105 - }else{//课程 大图  
106 - view.addSubview(scrollView)  
107 - scrollView.slideModel = _slideModel 106 +// self.view.addSubview(self.tableView)
  107 +// self.tableView.frame = CGRect(x: 0, y: 0, width: KSreenWidth, height: KSreenHeight)
  108 + }else if self.cellType == .course{//课程 大图
  109 + if self.slideModel!.type == SlideModelTypeAllCourse12{
  110 + //全部课程
  111 +
  112 + }else if self.slideModel!.type == SlideModelTypeOneCourse75{
  113 + //大图课程
  114 +
  115 + }
  116 +// view.addSubview(scrollView)
  117 +// scrollView.slideModel = _slideModel
  118 + }else if self.cellType == .playletToCourse{
  119 + //首页->课程
  120 +
108 } 121 }
109 view.addSubview(closeBtn) 122 view.addSubview(closeBtn)
110 view.addGestureRecognizer(dismissPanGesture) 123 view.addGestureRecognizer(dismissPanGesture)
111 -  
112 - if #available(iOS 11.0, *) {  
113 - scrollView.contentInsetAdjustmentBehavior = .never  
114 - } else {  
115 - automaticallyAdjustsScrollViewInsets = false  
116 - }  
117 - }  
118 -  
119 - private func getImageFromCell() {  
120 - scrollView.imageView.image = cell.bgImageView.image  
121 } 124 }
122 - 125 +
123 @objc private func closeAction() { 126 @objc private func closeAction() {
124 dismiss(animated: true, completion: nil) 127 dismiss(animated: true, completion: nil)
125 let nav = self.navigationController as! CNSlideBaseNavigationController 128 let nav = self.navigationController as! CNSlideBaseNavigationController
@@ -162,12 +165,9 @@ class CNUpSlideDetailViewController: CNLiveBaseViewController,UITableViewDataSou @@ -162,12 +165,9 @@ class CNUpSlideDetailViewController: CNLiveBaseViewController,UITableViewDataSou
162 165
163 switch gesture.state { 166 switch gesture.state {
164 case .began,.changed: 167 case .began,.changed:
165 - scrollView.isScrollEnabled = false  
166 gesture.view?.transform = CGAffineTransform(scaleX: currentScale, y: currentScale) 168 gesture.view?.transform = CGAffineTransform(scaleX: currentScale, y: currentScale)
167 gesture.view?.layer.cornerRadius = GlobalConstants.toDayCardCornerRadius * (progress) 169 gesture.view?.layer.cornerRadius = GlobalConstants.toDayCardCornerRadius * (progress)
168 - scrollView.showsVerticalScrollIndicator = false  
169 case .cancelled,.ended: 170 case .cancelled,.ended:
170 - scrollView.isScrollEnabled = true  
171 stopDismissPanGesture(gesture) 171 stopDismissPanGesture(gesture)
172 default: 172 default:
173 break 173 break
@@ -178,18 +178,18 @@ class CNUpSlideDetailViewController: CNLiveBaseViewController,UITableViewDataSou @@ -178,18 +178,18 @@ class CNUpSlideDetailViewController: CNLiveBaseViewController,UITableViewDataSou
178 private func stopDismissPanGesture(_ gesture: UIPanGestureRecognizer) { 178 private func stopDismissPanGesture(_ gesture: UIPanGestureRecognizer) {
179 draggingDownToDismiss = false 179 draggingDownToDismiss = false
180 interactiveStartingPoint = nil 180 interactiveStartingPoint = nil
181 - scrollView.showsVerticalScrollIndicator = true  
182 181
183 UIView.animate(withDuration: 0.2) { 182 UIView.animate(withDuration: 0.2) {
184 gesture.view?.transform = CGAffineTransform.identity 183 gesture.view?.transform = CGAffineTransform.identity
185 } 184 }
186 } 185 }
187 186
188 - // MARK: - 短剧cell列表详情页 187 + // MARK: - 列表详情页
  188 + let kCNLiveCourseTitleCellIdentifier = "kCNLiveCourseTitleCellIdentifier"
189 let kCNLiveAlbumImageCellIdentifier = "kCNLiveAlbumImageCellIdentifier" 189 let kCNLiveAlbumImageCellIdentifier = "kCNLiveAlbumImageCellIdentifier"
190 let kCNLiveAlbumCellIdentifier = "kCNLiveAlbumCellIdentifier" 190 let kCNLiveAlbumCellIdentifier = "kCNLiveAlbumCellIdentifier"
191 191
192 - var pageNum: NSInteger 192 + var pageNum: NSInteger = 1
193 var network_type: CNLiveMineResponseType! 193 var network_type: CNLiveMineResponseType!
194 // MARK: - 懒加载 194 // MARK: - 懒加载
195 ///数据源 195 ///数据源
@@ -207,6 +207,8 @@ class CNUpSlideDetailViewController: CNLiveBaseViewController,UITableViewDataSou @@ -207,6 +207,8 @@ class CNUpSlideDetailViewController: CNLiveBaseViewController,UITableViewDataSou
207 tableView.tableFooterView = UIView.init() 207 tableView.tableFooterView = UIView.init()
208 tableView.register(CNLiveAlbumCell.self, forCellReuseIdentifier: kCNLiveAlbumCellIdentifier) 208 tableView.register(CNLiveAlbumCell.self, forCellReuseIdentifier: kCNLiveAlbumCellIdentifier)
209 tableView.register(CNLiveAlbumImageCell.self, forCellReuseIdentifier: kCNLiveAlbumImageCellIdentifier) 209 tableView.register(CNLiveAlbumImageCell.self, forCellReuseIdentifier: kCNLiveAlbumImageCellIdentifier)
  210 + tableView.register(CNLiveDuanjuTitleCell.self, forCellReuseIdentifier: kCNLiveCourseTitleCellIdentifier)
  211 +
210 return tableView 212 return tableView
211 }() 213 }()
212 214
@@ -225,14 +227,43 @@ class CNUpSlideDetailViewController: CNLiveBaseViewController,UITableViewDataSou @@ -225,14 +227,43 @@ class CNUpSlideDetailViewController: CNLiveBaseViewController,UITableViewDataSou
225 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 227 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
226 228
227 if indexPath.section == 0{ 229 if indexPath.section == 0{
228 - guard let cell = tableView.dequeueReusableCell(withIdentifier: kCNLiveAlbumImageCellIdentifier) as? CNLiveAlbumImageCell  
229 - else {  
230 - let cell = CNLiveAlbumImageCell() 230 + if self.cellType == .playlet{
  231 + //短剧大图
  232 + guard let cell = tableView.dequeueReusableCell(withIdentifier: kCNLiveAlbumImageCellIdentifier) as? CNLiveAlbumImageCell
  233 + else {
  234 + let cell = CNLiveAlbumImageCell()
  235 + return cell
  236 + }
  237 + cell.iconImgView.image = self.cell.bgImageView.image
231 return cell 238 return cell
  239 + }else if self.cellType == .course || self.cellType == .playletToCourse{
  240 +
  241 + if self.slideModel?.type == SlideModelTypeAllCourse12{
  242 + //全部课程
  243 + guard let cell = tableView.dequeueReusableCell(withIdentifier: kCNLiveCourseTitleCellIdentifier) as? CNLiveDuanjuTitleCell
  244 + else {
  245 + let cell = CNLiveDuanjuTitleCell()
  246 + return cell
  247 + }
  248 + cell.cellType = .course
  249 + cell.blockName = self.slideModel?.blockName
  250 + return cell
  251 +
  252 + }else if self.slideModel?.type == SlideModelTypeOneCourse75{
  253 + //大图课程
  254 + guard let cell = tableView.dequeueReusableCell(withIdentifier: kCNLiveAlbumImageCellIdentifier) as? CNLiveAlbumImageCell
  255 + else {
  256 + let cell = CNLiveAlbumImageCell()
  257 + return cell
  258 + }
  259 + cell.iconImgView.image = self.cell.bgImageView.image
  260 + return cell
  261 +
  262 + }
232 } 263 }
233 - cell.iconImgView.image = self.cell.bgImageView.image  
234 - return cell 264 +
235 }else{ 265 }else{
  266 + //列表cell
236 let albumModel = self.dataArray[indexPath.row] as! CNLiveAlbumModel 267 let albumModel = self.dataArray[indexPath.row] as! CNLiveAlbumModel
237 268
238 guard let cell = tableView.dequeueReusableCell(withIdentifier: kCNLiveAlbumCellIdentifier) as? CNLiveAlbumCell 269 guard let cell = tableView.dequeueReusableCell(withIdentifier: kCNLiveAlbumCellIdentifier) as? CNLiveAlbumCell
@@ -241,42 +272,60 @@ class CNUpSlideDetailViewController: CNLiveBaseViewController,UITableViewDataSou @@ -241,42 +272,60 @@ class CNUpSlideDetailViewController: CNLiveBaseViewController,UITableViewDataSou
241 return cell 272 return cell
242 } 273 }
243 cell.albumModel = albumModel 274 cell.albumModel = albumModel
  275 + cell.enterBlock = { albumModel in
  276 + CNLiveDownSlideTool.pushWebVCWithCNLiveAlbumMdl(albumModel: albumModel,controller: self)
  277 + }
244 return cell 278 return cell
245 } 279 }
  280 + return UITableViewCell()
246 } 281 }
247 func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { 282 func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
248 if indexPath.section == 0{ 283 if indexPath.section == 0{
249 - return KSreenWidth 284 + if self.cellType == .playlet{
  285 + //短剧大图
  286 + return KSreenWidth
  287 + }else if self.cellType == .course || self.cellType == .playletToCourse{
  288 + if self.slideModel?.type == SlideModelTypeAllCourse12{
  289 + //全部课程
  290 + return 75
  291 + }else if self.slideModel?.type == SlideModelTypeOneCourse75{
  292 + //大图课程
  293 + return KSreenWidth
  294 + }
  295 + }
250 }else{ 296 }else{
251 return 75 297 return 75
252 } 298 }
  299 + return 75
253 } 300 }
254 301
255 - // MARK: - 获取全部专辑列表 302 + // MARK: - 在追短剧--获取全部专辑列表
256 func getBlockContents(page:NSInteger){ 303 func getBlockContents(page:NSInteger){
257 showLoading(message: "") 304 showLoading(message: "")
258 CNLiveHomePageViewModel.getBlockContents(blockId: self.slideModel!.blockId ?? "", page: page) {[weak self] result, status in 305 CNLiveHomePageViewModel.getBlockContents(blockId: self.slideModel!.blockId ?? "", page: page) {[weak self] result, status in
259 hiddenLoading() 306 hiddenLoading()
260 if status == .success{ 307 if status == .success{
261 - if self!.pageNum > 1 {  
262 - self!.dataArray.addObjects(from: result as! [CNLiveAlbumModel]) 308 + let albumBaseModel = result as! CNLiveAlbumBaseModel
  309 + if self!.pageNum > 1 && albumBaseModel.list.count > 0 {
  310 + self!.dataArray.addObjects(from: albumBaseModel.list)
263 } 311 }
264 if self!.pageNum == 1 { 312 if self!.pageNum == 1 {
265 self!.dataArray.removeAllObjects() 313 self!.dataArray.removeAllObjects()
266 - self!.dataArray.addObjects(from: result as! [CNLiveAlbumModel]) 314 + self!.dataArray.addObjects(from: albumBaseModel.list)
267 if self!.dataArray.count > 0 && self!.tableView.mj_header == nil && self!.tableView.mj_footer == nil { 315 if self!.dataArray.count > 0 && self!.tableView.mj_header == nil && self!.tableView.mj_footer == nil {
268 self!.addRefreshView() 316 self!.addRefreshView()
269 - self!.pageNum = self!.pageNum + 1  
270 - self!.getBlockContents(page: self!.pageNum) 317 +// self!.pageNum = self!.pageNum + 1
  318 +// self!.getBlockContents(page: self!.pageNum)
271 } 319 }
272 } 320 }
273 321
274 self!.tableView.mj_header?.endRefreshing() 322 self!.tableView.mj_header?.endRefreshing()
275 - self!.tableView.mj_footer?.endRefreshing() 323 +
276 self!.tableView.reloadData() 324 self!.tableView.reloadData()
277 - if (result as! Array<Any>).count == 0 { 325 + if albumBaseModel.hasNextPage{
  326 + self!.tableView.mj_footer?.endRefreshing()
  327 + }else{
278 self!.tableView.mj_footer?.endRefreshingWithNoMoreData() 328 self!.tableView.mj_footer?.endRefreshingWithNoMoreData()
279 - self!.tableView.reloadData()  
280 } 329 }
281 330
282 }else if (status == .noNetwork) { 331 }else if (status == .noNetwork) {
metaCode/Classes/Main/HomePage/Controller/DownSlideController/CNUpSlideViewController.swift
@@ -187,7 +187,6 @@ class CNUpSlideViewController: CNLiveBaseViewController,UITableViewDelegate,UITa @@ -187,7 +187,6 @@ class CNUpSlideViewController: CNLiveBaseViewController,UITableViewDelegate,UITa
187 StrongSelf.updateStatusBarAndTabbarFrame(visible: true) 187 StrongSelf.updateStatusBarAndTabbarFrame(visible: true)
188 } 188 }
189 updateStatusBarAndTabbarFrame(visible: false) 189 updateStatusBarAndTabbarFrame(visible: false)
190 -  
191 present(detailVC, animated: true, completion: nil) 190 present(detailVC, animated: true, completion: nil)
192 }else if slideModel.type == SlideModelTypeOneCourse75{ 191 }else if slideModel.type == SlideModelTypeOneCourse75{
193 guard let cell = tableView.cellForRow(at: indexPath) as? CNDownSlideSingleCourseCell else { return } 192 guard let cell = tableView.cellForRow(at: indexPath) as? CNDownSlideSingleCourseCell else { return }
metaCode/Classes/Main/HomePages/Controller/AuthController/push相关/CNHomepageDuanJuDetailViewController.swift
@@ -121,6 +121,8 @@ class CNHomepageDuanJuDetailViewController: CNLiveBaseViewController ,UITableVi @@ -121,6 +121,8 @@ class CNHomepageDuanJuDetailViewController: CNLiveBaseViewController ,UITableVi
121 let cell = CNLiveDuanjuTitleCell() 121 let cell = CNLiveDuanjuTitleCell()
122 return cell 122 return cell
123 } 123 }
  124 + cell.cellType = .playlet
  125 + cell.blockName = "在追短剧"
124 return cell 126 return cell
125 }else{ 127 }else{
126 let albumModel = self.dataArray[indexPath.row] as! CNLiveAlbumMsgModel 128 let albumModel = self.dataArray[indexPath.row] as! CNLiveAlbumMsgModel
metaCode/Classes/Main/HomePages/Model/CNLiveAlbumModel.swift
@@ -7,6 +7,28 @@ @@ -7,6 +7,28 @@
7 7
8 import Foundation 8 import Foundation
9 9
  10 +class CNLiveAlbumBaseModel:BaseModel{
  11 + var endRow = 0
  12 + var firstPage = 0
  13 + var hasNextPage = false
  14 + var nextPage = 0
  15 + var hasPreviousPage = false
  16 + var isFirstPage = true
  17 + var isLastPage = true
  18 + var lastPage = 0
  19 + var list = [CNLiveAlbumModel]()
  20 + var navigateFirstPage = 0
  21 + var navigateLastPage = 0
  22 + var navigatePages = 0
  23 + var navigatepageNums:Array<Any> = []
  24 + var pageNum = 0
  25 + var pageSize = 0
  26 + var pages = 0
  27 + var prePage = 0
  28 + var size = 0
  29 + var startRow = 0
  30 + var total = 0
  31 +}
10 class CNLiveAlbumModel:BaseModel{ 32 class CNLiveAlbumModel:BaseModel{
11 var title = "" 33 var title = ""
12 var subTitle = "" 34 var subTitle = ""
metaCode/Classes/Main/HomePages/Model/CNLiveHomePageModel.swift
@@ -11,6 +11,7 @@ class CNLiveHomePageModel:BaseModel{ @@ -11,6 +11,7 @@ class CNLiveHomePageModel:BaseModel{
11 var endRow = 0 11 var endRow = 0
12 var firstPage = 0 12 var firstPage = 0
13 var hasNextPage = false 13 var hasNextPage = false
  14 + var nextPage = 0
14 var hasPreviousPage = false 15 var hasPreviousPage = false
15 var isFirstPage = true 16 var isFirstPage = true
16 var isLastPage = true 17 var isLastPage = true
@@ -20,7 +21,6 @@ class CNLiveHomePageModel:BaseModel{ @@ -20,7 +21,6 @@ class CNLiveHomePageModel:BaseModel{
20 var navigateLastPage = 0 21 var navigateLastPage = 0
21 var navigatePages = 0 22 var navigatePages = 0
22 var navigatepageNums:Array<Any> = [] 23 var navigatepageNums:Array<Any> = []
23 - var nextPage = 0  
24 var pageNum = 0 24 var pageNum = 0
25 var pageSize = 0 25 var pageSize = 0
26 var pages = 0 26 var pages = 0
metaCode/Classes/Main/HomePages/View/HomepageDetail/CNLiveAlbumCell.swift
@@ -7,11 +7,16 @@ @@ -7,11 +7,16 @@
7 7
8 import Foundation 8 import Foundation
9 import QMUIKit 9 import QMUIKit
  10 +
  11 +typealias CNLiveAlbumCellEnterBlock = (_ albumModel:CNLiveAlbumModel)->Void;
  12 +
10 class CNLiveAlbumCell:UITableViewCell{ 13 class CNLiveAlbumCell:UITableViewCell{
11 14
  15 + var enterBlock:CNLiveAlbumCellEnterBlock?
12 var albumModelArr:Array<CNLiveAlbumListModel>? 16 var albumModelArr:Array<CNLiveAlbumListModel>?
13 17
14 var isDetail:Bool = false 18 var isDetail:Bool = false
  19 + var cellType:CNLiveHomePageCellType = .course
15 20
16 var _albumMsgModel : CNLiveAlbumMsgModel? 21 var _albumMsgModel : CNLiveAlbumMsgModel?
17 var albumMsgModel : CNLiveAlbumMsgModel? { 22 var albumMsgModel : CNLiveAlbumMsgModel? {
@@ -88,7 +93,15 @@ class CNLiveAlbumCell:UITableViewCell{ @@ -88,7 +93,15 @@ class CNLiveAlbumCell:UITableViewCell{
88 fatalError("init(coder:) has not been implemented") 93 fatalError("init(coder:) has not been implemented")
89 } 94 }
90 func setupNewUI(model:CNLiveAlbumModel){ 95 func setupNewUI(model:CNLiveAlbumModel){
91 - 96 + if model.model == "1" || model.model == "2" || model.model == "3" || model.model == "4"{
  97 + //课程-跳转h5网页
  98 + self.cellType = .course
  99 + self.playBtn.setTitle("进入", for: .normal)
  100 + }else if model.model == "album_ugc"{
  101 + //短剧-跳转短剧播放页
  102 + self.cellType = .playlet
  103 + self.playBtn.setTitle("播放", for: .normal)
  104 + }
92 self.titleLabl.text = model.title 105 self.titleLabl.text = model.title
93 self.subTitleLabel.text = model.subTitle 106 self.subTitleLabel.text = model.subTitle
94 self.iconImgView.kf.setImage(with: URL(string: model.poster)) 107 self.iconImgView.kf.setImage(with: URL(string: model.poster))
@@ -109,7 +122,6 @@ class CNLiveAlbumCell:UITableViewCell{ @@ -109,7 +122,6 @@ class CNLiveAlbumCell:UITableViewCell{
109 } 122 }
110 } 123 }
111 @objc func playBtnAction(){ 124 @objc func playBtnAction(){
112 - showLoading(message: "")  
113 var aid = "" 125 var aid = ""
114 if self.albumModel != nil{ 126 if self.albumModel != nil{
115 aid = self.albumModel!.contentId 127 aid = self.albumModel!.contentId
@@ -118,6 +130,19 @@ class CNLiveAlbumCell:UITableViewCell{ @@ -118,6 +130,19 @@ class CNLiveAlbumCell:UITableViewCell{
118 }else{ 130 }else{
119 aid = "" 131 aid = ""
120 } 132 }
121 - navigationViewController().visibleViewController?.navigationController?.pushViewController(CNLiveShortVideoViewController(aid: aid), animated: pushAnimated) 133 + if (self.albumModel != nil){
  134 + if (self.albumModel?.model == "1" || self.albumModel?.model == "2" || self.albumModel?.model == "3" || self.albumModel?.model == "4"){
  135 + //课程-跳转h5网页
  136 + self.enterBlock!(self.albumModel!)
  137 + }else if self.albumModel?.model == "album_ugc"{
  138 + //短剧-跳转短剧播放页
  139 + navigationViewController().visibleViewController?.navigationController?.pushViewController(CNLiveShortVideoViewController(aid: aid), animated: pushAnimated)
  140 + }
  141 + }else if (self.albumMsgModel != nil){
  142 + //短剧-跳转短剧播放页
  143 + navigationViewController().visibleViewController?.navigationController?.pushViewController(CNLiveShortVideoViewController(aid: aid), animated: pushAnimated)
  144 +
  145 + }
  146 +
122 } 147 }
123 } 148 }
metaCode/Classes/Main/HomePages/View/HomepageDetail/CNLiveDuanjuTitleCell.swift
@@ -3,12 +3,31 @@ @@ -3,12 +3,31 @@
3 // metaCode 3 // metaCode
4 // 4 //
5 // Created by zx on 2024/1/10. 5 // Created by zx on 2024/1/10.
6 -// 在追短剧详情页-title cell 6 +// 在追短剧详情页/全部课程详情页 --title cell
7 7
8 import Foundation 8 import Foundation
9 9
10 class CNLiveDuanjuTitleCell:UITableViewCell{ 10 class CNLiveDuanjuTitleCell:UITableViewCell{
11 - 11 + var _blockName:String?
  12 + var blockName:String?{
  13 + get{
  14 + _blockName
  15 + }
  16 + set{
  17 + _blockName = newValue!
  18 +
  19 + if self.cellType == .course || self.cellType == .playletToCourse{
  20 + self.blockTitleLabl.text = _blockName ?? "全部课程"
  21 + self.blockTitleLabl.top = KStatusBarHeight+10
  22 + }else if self.cellType == .playlet{
  23 + self.blockTitleLabl.text = _blockName ?? "在追短剧"
  24 + self.blockTitleLabl.top = 10
  25 +
  26 + }
  27 + }
  28 + }
  29 + var cellType:CNLiveHomePageCellType = .course
  30 +
12 //MARK: - 懒加载 31 //MARK: - 懒加载
13 ///区块标题 32 ///区块标题
14 lazy var blockTitleLabl: UILabel = { 33 lazy var blockTitleLabl: UILabel = {
metaCode/Classes/Main/HomePages/ViewModel/CNLiveHomePageViewModel.swift
@@ -90,7 +90,7 @@ class CNLiveHomePageViewModel:NSObject{ @@ -90,7 +90,7 @@ class CNLiveHomePageViewModel:NSObject{
90 } 90 }
91 } 91 }
92 } 92 }
93 - /// 获取首页-全部专辑列表 93 + /// 获取首页-全部专辑列表,区块内容分页
94 static func getBlockContents(blockId:String,page:NSInteger,resultBlock: @escaping downSlideResultBlock) { 94 static func getBlockContents(blockId:String,page:NSInteger,resultBlock: @escaping downSlideResultBlock) {
95 let param = NSMutableDictionary() 95 let param = NSMutableDictionary()
96 param.setValue(blockId, forKey: "blockId") 96 param.setValue(blockId, forKey: "blockId")
@@ -105,14 +105,8 @@ class CNLiveHomePageViewModel:NSObject{ @@ -105,14 +105,8 @@ class CNLiveHomePageViewModel:NSObject{
105 let errorCode = "\(resp["errorCode"] ?? "0")" 105 let errorCode = "\(resp["errorCode"] ?? "0")"
106 if (errorCode == "0") { 106 if (errorCode == "0") {
107 let dataDic = resp["data"] as! Dictionary<String, Any> 107 let dataDic = resp["data"] as! Dictionary<String, Any>
108 - let dataList = dataDic["list"] as! Array<Any>  
109 - var listArr = Array<Any>()  
110 - for listDic in dataList{  
111 - let dataMdl = newDictionaryToModel(listDic as! [String : Any], CNLiveAlbumModel.self)  
112 - listArr.append(dataMdl)  
113 - }  
114 -  
115 - resultBlock(listArr,.success) 108 + let dataMdl = newDictionaryToModel(dataDic , CNLiveAlbumBaseModel.self)
  109 + resultBlock(dataMdl,.success)
116 } 110 }
117 else{ 111 else{
118 resultBlock(NSNull(),.failed) 112 resultBlock(NSNull(),.failed)
metaCode/Classes/Main/Util/CNLiveDownSlideTool.swift
@@ -19,14 +19,11 @@ class CNLiveDownSlideTool:NSObject{ @@ -19,14 +19,11 @@ class CNLiveDownSlideTool:NSObject{
19 let regURL = urlComponents.url 19 let regURL = urlComponents.url
20 let webVC = CNWebViewController() 20 let webVC = CNWebViewController()
21 webVC.url = regURL 21 webVC.url = regURL
22 - navigationViewController().pushViewController(webVC, animated: pushAnimated)  
23 -// currentViewController()?.navigationController?.pushViewController(webVC, animated: pushAnimated)  
24 - 22 + navigationViewController().visibleViewController?.navigationController?.pushViewController(webVC, animated: pushAnimated)
25 }else if (contentMdl.model == kCNDownSlideContentsModelModel3) || (contentMdl.model == kCNDownSlideContentsModelModel4){ 23 }else if (contentMdl.model == kCNDownSlideContentsModelModel3) || (contentMdl.model == kCNDownSlideContentsModelModel4){
26 let webVC = CNWebViewController() 24 let webVC = CNWebViewController()
27 webVC.url = URL(string: (contentMdl.thirdUrl)!) 25 webVC.url = URL(string: (contentMdl.thirdUrl)!)
28 - navigationViewController().pushViewController(webVC, animated: pushAnimated)  
29 -// currentViewController()?.navigationController?.pushViewController(webVC, animated: pushAnimated) 26 + navigationViewController().visibleViewController?.navigationController?.pushViewController(webVC, animated: pushAnimated)
30 }else if (contentMdl.model == kCNDownSlideContentsModelModelAlbum) || (contentMdl.model == kCNDownSlideContentsModelModelAlbum_ugc) || (contentMdl.model == kCNDownSlideContentsModelModelAlbum_video){ 27 }else if (contentMdl.model == kCNDownSlideContentsModelModelAlbum) || (contentMdl.model == kCNDownSlideContentsModelModelAlbum_ugc) || (contentMdl.model == kCNDownSlideContentsModelModelAlbum_video){
31 28
32 let urlString = "http://wjjh5.cnlive.com/cnYmAlbumVideoList.html" 29 let urlString = "http://wjjh5.cnlive.com/cnYmAlbumVideoList.html"
@@ -37,8 +34,38 @@ class CNLiveDownSlideTool:NSObject{ @@ -37,8 +34,38 @@ class CNLiveDownSlideTool:NSObject{
37 let regURL = urlComponents?.url 34 let regURL = urlComponents?.url
38 let webVC = CNWebViewController() 35 let webVC = CNWebViewController()
39 webVC.url = regURL 36 webVC.url = regURL
40 - navigationViewController().pushViewController(webVC, animated: pushAnimated)  
41 -// currentViewController()?.navigationController?.pushViewController(webVC, animated: pushAnimated) 37 + navigationViewController().visibleViewController?.navigationController?.pushViewController(webVC, animated: pushAnimated)
  38 + }else{
  39 + return
  40 + }
  41 + }
  42 + class func pushWebVCWithCNLiveAlbumMdl(albumModel:CNLiveAlbumModel,controller:UIViewController){
  43 +
  44 + if (albumModel.model == kCNDownSlideContentsModelModel1) || (albumModel.model == kCNDownSlideContentsModelModel2){
  45 +
  46 + let queryItem = URLQueryItem(name: "contentId", value: albumModel.contentId)
  47 + let queryItem1 = URLQueryItem(name: "videoId", value: albumModel.pid)
  48 + let urlComponents = NSURLComponents(string: (albumModel.shareUrl))!
  49 + urlComponents.queryItems = [queryItem, queryItem1]
  50 + let regURL = urlComponents.url
  51 + let webVC = CNWebViewController()
  52 + webVC.url = regURL
  53 + controller.navigationController?.pushViewController(webVC, animated: pushAnimated)
  54 + }else if (albumModel.model == kCNDownSlideContentsModelModel3) || (albumModel.model == kCNDownSlideContentsModelModel4){
  55 + let webVC = CNWebViewController()
  56 + webVC.url = URL(string: (albumModel.thirdUrl))
  57 + controller.navigationController?.pushViewController(webVC, animated: pushAnimated)
  58 + }else if (albumModel.model == kCNDownSlideContentsModelModelAlbum) || (albumModel.model == kCNDownSlideContentsModelModelAlbum_ugc) || (albumModel.model == kCNDownSlideContentsModelModelAlbum_video){
  59 +
  60 + let urlString = "http://wjjh5.cnlive.com/cnYmAlbumVideoList.html"
  61 + let queryItem = URLQueryItem(name: "aid", value: albumModel.contentId)
  62 + let queryItem1 = URLQueryItem(name: "title", value: albumModel.title)
  63 + let urlComponents = NSURLComponents(string: urlString)
  64 + urlComponents!.queryItems = [queryItem, queryItem1]
  65 + let regURL = urlComponents?.url
  66 + let webVC = CNWebViewController()
  67 + webVC.url = regURL
  68 + navigationViewController().visibleViewController?.navigationController?.pushViewController(webVC, animated: pushAnimated)
42 }else{ 69 }else{
43 return 70 return
44 } 71 }