Commit 4ed6e7a7dc766754c90c492010b3ff594eb18404
1 parent
75b5e01a
短剧,课程 详情页添加分页请求
Showing
9 changed files
with
202 additions
and
65 deletions
metaCode/Classes/Main/HomePage/Controller/DownSlideController/CNUpSlideDetailViewController.swift
| ... | ... | @@ -3,8 +3,8 @@ |
| 3 | 3 | // metaCode |
| 4 | 4 | // |
| 5 | 5 | // Created by zx on 2023/10/16. |
| 6 | -// 认证-下滑页原生页--课程 大图点击详情页 | |
| 7 | -// 首页原生页--短剧 大图点击详情页 | |
| 6 | +// 认证-下滑页原生页--课程 大图课程详情页/全部课程详情页 | |
| 7 | +// 首页原生页--短剧 大图详情页 | |
| 8 | 8 | |
| 9 | 9 | import Foundation |
| 10 | 10 | import MJRefresh |
| ... | ... | @@ -91,35 +91,38 @@ class CNUpSlideDetailViewController: CNLiveBaseViewController,UITableViewDataSou |
| 91 | 91 | override func viewDidLoad() { |
| 92 | 92 | super.viewDidLoad() |
| 93 | 93 | setupUI() |
| 94 | - getImageFromCell() | |
| 95 | - if self.cellType == .playlet{ | |
| 94 | +// getImageFromCell() | |
| 95 | +// if self.cellType == .playlet{ | |
| 96 | 96 | self.getBlockContents(page: 1) |
| 97 | - } | |
| 97 | +// } | |
| 98 | 98 | } |
| 99 | 99 | |
| 100 | 100 | private func setupUI() { |
| 101 | 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 | 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 | 122 | view.addSubview(closeBtn) |
| 110 | 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 | 126 | @objc private func closeAction() { |
| 124 | 127 | dismiss(animated: true, completion: nil) |
| 125 | 128 | let nav = self.navigationController as! CNSlideBaseNavigationController |
| ... | ... | @@ -162,12 +165,9 @@ class CNUpSlideDetailViewController: CNLiveBaseViewController,UITableViewDataSou |
| 162 | 165 | |
| 163 | 166 | switch gesture.state { |
| 164 | 167 | case .began,.changed: |
| 165 | - scrollView.isScrollEnabled = false | |
| 166 | 168 | gesture.view?.transform = CGAffineTransform(scaleX: currentScale, y: currentScale) |
| 167 | 169 | gesture.view?.layer.cornerRadius = GlobalConstants.toDayCardCornerRadius * (progress) |
| 168 | - scrollView.showsVerticalScrollIndicator = false | |
| 169 | 170 | case .cancelled,.ended: |
| 170 | - scrollView.isScrollEnabled = true | |
| 171 | 171 | stopDismissPanGesture(gesture) |
| 172 | 172 | default: |
| 173 | 173 | break |
| ... | ... | @@ -178,18 +178,18 @@ class CNUpSlideDetailViewController: CNLiveBaseViewController,UITableViewDataSou |
| 178 | 178 | private func stopDismissPanGesture(_ gesture: UIPanGestureRecognizer) { |
| 179 | 179 | draggingDownToDismiss = false |
| 180 | 180 | interactiveStartingPoint = nil |
| 181 | - scrollView.showsVerticalScrollIndicator = true | |
| 182 | 181 | |
| 183 | 182 | UIView.animate(withDuration: 0.2) { |
| 184 | 183 | gesture.view?.transform = CGAffineTransform.identity |
| 185 | 184 | } |
| 186 | 185 | } |
| 187 | 186 | |
| 188 | - // MARK: - 短剧cell列表详情页 | |
| 187 | + // MARK: - 列表详情页 | |
| 188 | + let kCNLiveCourseTitleCellIdentifier = "kCNLiveCourseTitleCellIdentifier" | |
| 189 | 189 | let kCNLiveAlbumImageCellIdentifier = "kCNLiveAlbumImageCellIdentifier" |
| 190 | 190 | let kCNLiveAlbumCellIdentifier = "kCNLiveAlbumCellIdentifier" |
| 191 | 191 | |
| 192 | - var pageNum: NSInteger | |
| 192 | + var pageNum: NSInteger = 1 | |
| 193 | 193 | var network_type: CNLiveMineResponseType! |
| 194 | 194 | // MARK: - 懒加载 |
| 195 | 195 | ///数据源 |
| ... | ... | @@ -207,6 +207,8 @@ class CNUpSlideDetailViewController: CNLiveBaseViewController,UITableViewDataSou |
| 207 | 207 | tableView.tableFooterView = UIView.init() |
| 208 | 208 | tableView.register(CNLiveAlbumCell.self, forCellReuseIdentifier: kCNLiveAlbumCellIdentifier) |
| 209 | 209 | tableView.register(CNLiveAlbumImageCell.self, forCellReuseIdentifier: kCNLiveAlbumImageCellIdentifier) |
| 210 | + tableView.register(CNLiveDuanjuTitleCell.self, forCellReuseIdentifier: kCNLiveCourseTitleCellIdentifier) | |
| 211 | + | |
| 210 | 212 | return tableView |
| 211 | 213 | }() |
| 212 | 214 | |
| ... | ... | @@ -225,14 +227,43 @@ class CNUpSlideDetailViewController: CNLiveBaseViewController,UITableViewDataSou |
| 225 | 227 | func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { |
| 226 | 228 | |
| 227 | 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 | 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 | 265 | }else{ |
| 266 | + //列表cell | |
| 236 | 267 | let albumModel = self.dataArray[indexPath.row] as! CNLiveAlbumModel |
| 237 | 268 | |
| 238 | 269 | guard let cell = tableView.dequeueReusableCell(withIdentifier: kCNLiveAlbumCellIdentifier) as? CNLiveAlbumCell |
| ... | ... | @@ -241,42 +272,60 @@ class CNUpSlideDetailViewController: CNLiveBaseViewController,UITableViewDataSou |
| 241 | 272 | return cell |
| 242 | 273 | } |
| 243 | 274 | cell.albumModel = albumModel |
| 275 | + cell.enterBlock = { albumModel in | |
| 276 | + CNLiveDownSlideTool.pushWebVCWithCNLiveAlbumMdl(albumModel: albumModel,controller: self) | |
| 277 | + } | |
| 244 | 278 | return cell |
| 245 | 279 | } |
| 280 | + return UITableViewCell() | |
| 246 | 281 | } |
| 247 | 282 | func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { |
| 248 | 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 | 296 | }else{ |
| 251 | 297 | return 75 |
| 252 | 298 | } |
| 299 | + return 75 | |
| 253 | 300 | } |
| 254 | 301 | |
| 255 | - // MARK: - 获取全部专辑列表 | |
| 302 | + // MARK: - 在追短剧--获取全部专辑列表 | |
| 256 | 303 | func getBlockContents(page:NSInteger){ |
| 257 | 304 | showLoading(message: "") |
| 258 | 305 | CNLiveHomePageViewModel.getBlockContents(blockId: self.slideModel!.blockId ?? "", page: page) {[weak self] result, status in |
| 259 | 306 | hiddenLoading() |
| 260 | 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 | 312 | if self!.pageNum == 1 { |
| 265 | 313 | self!.dataArray.removeAllObjects() |
| 266 | - self!.dataArray.addObjects(from: result as! [CNLiveAlbumModel]) | |
| 314 | + self!.dataArray.addObjects(from: albumBaseModel.list) | |
| 267 | 315 | if self!.dataArray.count > 0 && self!.tableView.mj_header == nil && self!.tableView.mj_footer == nil { |
| 268 | 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 | 322 | self!.tableView.mj_header?.endRefreshing() |
| 275 | - self!.tableView.mj_footer?.endRefreshing() | |
| 323 | + | |
| 276 | 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 | 328 | self!.tableView.mj_footer?.endRefreshingWithNoMoreData() |
| 279 | - self!.tableView.reloadData() | |
| 280 | 329 | } |
| 281 | 330 | |
| 282 | 331 | }else if (status == .noNetwork) { | ... | ... |
metaCode/Classes/Main/HomePage/Controller/DownSlideController/CNUpSlideViewController.swift
| ... | ... | @@ -187,7 +187,6 @@ class CNUpSlideViewController: CNLiveBaseViewController,UITableViewDelegate,UITa |
| 187 | 187 | StrongSelf.updateStatusBarAndTabbarFrame(visible: true) |
| 188 | 188 | } |
| 189 | 189 | updateStatusBarAndTabbarFrame(visible: false) |
| 190 | - | |
| 191 | 190 | present(detailVC, animated: true, completion: nil) |
| 192 | 191 | }else if slideModel.type == SlideModelTypeOneCourse75{ |
| 193 | 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 | 121 | let cell = CNLiveDuanjuTitleCell() |
| 122 | 122 | return cell |
| 123 | 123 | } |
| 124 | + cell.cellType = .playlet | |
| 125 | + cell.blockName = "在追短剧" | |
| 124 | 126 | return cell |
| 125 | 127 | }else{ |
| 126 | 128 | let albumModel = self.dataArray[indexPath.row] as! CNLiveAlbumMsgModel | ... | ... |
metaCode/Classes/Main/HomePages/Model/CNLiveAlbumModel.swift
| ... | ... | @@ -7,6 +7,28 @@ |
| 7 | 7 | |
| 8 | 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 | 32 | class CNLiveAlbumModel:BaseModel{ |
| 11 | 33 | var title = "" |
| 12 | 34 | var subTitle = "" | ... | ... |
metaCode/Classes/Main/HomePages/Model/CNLiveHomePageModel.swift
| ... | ... | @@ -11,6 +11,7 @@ class CNLiveHomePageModel:BaseModel{ |
| 11 | 11 | var endRow = 0 |
| 12 | 12 | var firstPage = 0 |
| 13 | 13 | var hasNextPage = false |
| 14 | + var nextPage = 0 | |
| 14 | 15 | var hasPreviousPage = false |
| 15 | 16 | var isFirstPage = true |
| 16 | 17 | var isLastPage = true |
| ... | ... | @@ -20,7 +21,6 @@ class CNLiveHomePageModel:BaseModel{ |
| 20 | 21 | var navigateLastPage = 0 |
| 21 | 22 | var navigatePages = 0 |
| 22 | 23 | var navigatepageNums:Array<Any> = [] |
| 23 | - var nextPage = 0 | |
| 24 | 24 | var pageNum = 0 |
| 25 | 25 | var pageSize = 0 |
| 26 | 26 | var pages = 0 | ... | ... |
metaCode/Classes/Main/HomePages/View/HomepageDetail/CNLiveAlbumCell.swift
| ... | ... | @@ -7,11 +7,16 @@ |
| 7 | 7 | |
| 8 | 8 | import Foundation |
| 9 | 9 | import QMUIKit |
| 10 | + | |
| 11 | +typealias CNLiveAlbumCellEnterBlock = (_ albumModel:CNLiveAlbumModel)->Void; | |
| 12 | + | |
| 10 | 13 | class CNLiveAlbumCell:UITableViewCell{ |
| 11 | 14 | |
| 15 | + var enterBlock:CNLiveAlbumCellEnterBlock? | |
| 12 | 16 | var albumModelArr:Array<CNLiveAlbumListModel>? |
| 13 | 17 | |
| 14 | 18 | var isDetail:Bool = false |
| 19 | + var cellType:CNLiveHomePageCellType = .course | |
| 15 | 20 | |
| 16 | 21 | var _albumMsgModel : CNLiveAlbumMsgModel? |
| 17 | 22 | var albumMsgModel : CNLiveAlbumMsgModel? { |
| ... | ... | @@ -88,7 +93,15 @@ class CNLiveAlbumCell:UITableViewCell{ |
| 88 | 93 | fatalError("init(coder:) has not been implemented") |
| 89 | 94 | } |
| 90 | 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 | 105 | self.titleLabl.text = model.title |
| 93 | 106 | self.subTitleLabel.text = model.subTitle |
| 94 | 107 | self.iconImgView.kf.setImage(with: URL(string: model.poster)) |
| ... | ... | @@ -109,7 +122,6 @@ class CNLiveAlbumCell:UITableViewCell{ |
| 109 | 122 | } |
| 110 | 123 | } |
| 111 | 124 | @objc func playBtnAction(){ |
| 112 | - showLoading(message: "") | |
| 113 | 125 | var aid = "" |
| 114 | 126 | if self.albumModel != nil{ |
| 115 | 127 | aid = self.albumModel!.contentId |
| ... | ... | @@ -118,6 +130,19 @@ class CNLiveAlbumCell:UITableViewCell{ |
| 118 | 130 | }else{ |
| 119 | 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 | 3 | // metaCode |
| 4 | 4 | // |
| 5 | 5 | // Created by zx on 2024/1/10. |
| 6 | -// 在追短剧详情页-title cell | |
| 6 | +// 在追短剧详情页/全部课程详情页 --title cell | |
| 7 | 7 | |
| 8 | 8 | import Foundation |
| 9 | 9 | |
| 10 | 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 | 31 | //MARK: - 懒加载 |
| 13 | 32 | ///区块标题 |
| 14 | 33 | lazy var blockTitleLabl: UILabel = { | ... | ... |
metaCode/Classes/Main/HomePages/ViewModel/CNLiveHomePageViewModel.swift
| ... | ... | @@ -90,7 +90,7 @@ class CNLiveHomePageViewModel:NSObject{ |
| 90 | 90 | } |
| 91 | 91 | } |
| 92 | 92 | } |
| 93 | - /// 获取首页-全部专辑列表 | |
| 93 | + /// 获取首页-全部专辑列表,区块内容分页 | |
| 94 | 94 | static func getBlockContents(blockId:String,page:NSInteger,resultBlock: @escaping downSlideResultBlock) { |
| 95 | 95 | let param = NSMutableDictionary() |
| 96 | 96 | param.setValue(blockId, forKey: "blockId") |
| ... | ... | @@ -105,14 +105,8 @@ class CNLiveHomePageViewModel:NSObject{ |
| 105 | 105 | let errorCode = "\(resp["errorCode"] ?? "0")" |
| 106 | 106 | if (errorCode == "0") { |
| 107 | 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 | 111 | else{ |
| 118 | 112 | resultBlock(NSNull(),.failed) | ... | ... |
metaCode/Classes/Main/Util/CNLiveDownSlideTool.swift
| ... | ... | @@ -19,14 +19,11 @@ class CNLiveDownSlideTool:NSObject{ |
| 19 | 19 | let regURL = urlComponents.url |
| 20 | 20 | let webVC = CNWebViewController() |
| 21 | 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 | 23 | }else if (contentMdl.model == kCNDownSlideContentsModelModel3) || (contentMdl.model == kCNDownSlideContentsModelModel4){ |
| 26 | 24 | let webVC = CNWebViewController() |
| 27 | 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 | 27 | }else if (contentMdl.model == kCNDownSlideContentsModelModelAlbum) || (contentMdl.model == kCNDownSlideContentsModelModelAlbum_ugc) || (contentMdl.model == kCNDownSlideContentsModelModelAlbum_video){ |
| 31 | 28 | |
| 32 | 29 | let urlString = "http://wjjh5.cnlive.com/cnYmAlbumVideoList.html" |
| ... | ... | @@ -37,8 +34,38 @@ class CNLiveDownSlideTool:NSObject{ |
| 37 | 34 | let regURL = urlComponents?.url |
| 38 | 35 | let webVC = CNWebViewController() |
| 39 | 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 | 69 | }else{ |
| 43 | 70 | return |
| 44 | 71 | } | ... | ... |