Commit 756453e9289f9ec575f2b72b51e7743f5acd967f
1 parent
ec004ef6
看点 选择后刷新页面
Showing
4 changed files
with
75 additions
and
18 deletions
metaCode/Classes/Main/HuBiLieHomePage/Controller/CNLiveTVPlayerViewController.swift
| @@ -254,7 +254,7 @@ class CNLiveTVPlayerViewController:UIViewController, UITableViewDataSource, UITa | @@ -254,7 +254,7 @@ class CNLiveTVPlayerViewController:UIViewController, UITableViewDataSource, UITa | ||
| 254 | let playerManager = ZFAVPlayerManager() | 254 | let playerManager = ZFAVPlayerManager() |
| 255 | playerManager.shouldAutoPlay = true | 255 | playerManager.shouldAutoPlay = true |
| 256 | // playerManager.rate = 2 | 256 | // playerManager.rate = 2 |
| 257 | - | 257 | + |
| 258 | player = ZFPlayerController(playerManager: playerManager, containerView: containerView) | 258 | player = ZFPlayerController(playerManager: playerManager, containerView: containerView) |
| 259 | player.pauseWhenAppResignActive = false | 259 | player.pauseWhenAppResignActive = false |
| 260 | player.controlView = controlView | 260 | player.controlView = controlView |
| @@ -342,6 +342,7 @@ class CNLiveTVPlayerViewController:UIViewController, UITableViewDataSource, UITa | @@ -342,6 +342,7 @@ class CNLiveTVPlayerViewController:UIViewController, UITableViewDataSource, UITa | ||
| 342 | let cell = CNLiveVodTrailersCell() | 342 | let cell = CNLiveVodTrailersCell() |
| 343 | return cell | 343 | return cell |
| 344 | } | 344 | } |
| 345 | + cell.currSeleIdx = -1 | ||
| 345 | cell.vodPlayBlockListModel = vodPlayBlockListModel | 346 | cell.vodPlayBlockListModel = vodPlayBlockListModel |
| 346 | cell.expandBlock = { [weak self] model in | 347 | cell.expandBlock = { [weak self] model in |
| 347 | guard let self = self else { return } | 348 | guard let self = self else { return } |
| @@ -420,7 +421,41 @@ class CNLiveTVPlayerViewController:UIViewController, UITableViewDataSource, UITa | @@ -420,7 +421,41 @@ class CNLiveTVPlayerViewController:UIViewController, UITableViewDataSource, UITa | ||
| 420 | }) | 421 | }) |
| 421 | } | 422 | } |
| 422 | 423 | ||
| 423 | - //更换contentId内容 play接口刷新看点和电商 | 424 | + //单集 更换contentId内容 play接口刷新看点和电商 |
| 425 | + func vodChangeContentApi(vodModel:CNLiveVodAlbumListModel){ | ||
| 426 | + //刷新url | ||
| 427 | + CNLiveHomePageViewModel.shared.getVodVideoURL(contentId: vodModel.activityId) {[weak self] result, status in | ||
| 428 | + guard let self = self else { return } | ||
| 429 | + if status == .success | ||
| 430 | + { | ||
| 431 | + if let url = result as? String{ | ||
| 432 | + self.playWithUrlAndTitle(url: url, title: vodModel.title) | ||
| 433 | + } | ||
| 434 | + }else{ | ||
| 435 | + | ||
| 436 | + } | ||
| 437 | + } | ||
| 438 | + | ||
| 439 | + | ||
| 440 | + //play接口刷新 看点和电商 | ||
| 441 | + CNLiveDownSlideTool.getVodPlayApi(contentId: vodModel.contentId) {[weak self] result, status in | ||
| 442 | + guard let self = self else { return } | ||
| 443 | + if status == .success{ | ||
| 444 | + if let vodPlayModel = result as? CNLiveVodPlayModel{ | ||
| 445 | + self.vodPlayModel = vodPlayModel | ||
| 446 | + self.configDataArray() | ||
| 447 | + self.tableView.reloadData() | ||
| 448 | + }else{ | ||
| 449 | + | ||
| 450 | + } | ||
| 451 | + }else{ | ||
| 452 | + | ||
| 453 | + } | ||
| 454 | + } | ||
| 455 | + | ||
| 456 | + } | ||
| 457 | + | ||
| 458 | + //专辑 更换contentId内容 play接口刷新看点和电商 | ||
| 424 | func changeContentApi(vodModel:CNLiveVodAlbumListModel){ | 459 | func changeContentApi(vodModel:CNLiveVodAlbumListModel){ |
| 425 | 460 | ||
| 426 | //刷新url | 461 | //刷新url |
| @@ -554,7 +589,7 @@ class CNLiveTVPlayerViewController:UIViewController, UITableViewDataSource, UITa | @@ -554,7 +589,7 @@ class CNLiveTVPlayerViewController:UIViewController, UITableViewDataSource, UITa | ||
| 554 | detailLbl.snp.makeConstraints { make in | 589 | detailLbl.snp.makeConstraints { make in |
| 555 | make.left.equalTo(titleLbl.snp.right).offset(15) | 590 | make.left.equalTo(titleLbl.snp.right).offset(15) |
| 556 | make.top.equalTo(20.5) | 591 | make.top.equalTo(20.5) |
| 557 | - make.width.equalTo(20) | 592 | + make.width.equalTo(21) |
| 558 | make.height.equalTo(14) | 593 | make.height.equalTo(14) |
| 559 | } | 594 | } |
| 560 | 595 | ||
| @@ -604,12 +639,6 @@ class CNLiveTVPlayerViewController:UIViewController, UITableViewDataSource, UITa | @@ -604,12 +639,6 @@ class CNLiveTVPlayerViewController:UIViewController, UITableViewDataSource, UITa | ||
| 604 | } | 639 | } |
| 605 | } | 640 | } |
| 606 | func vodShare(vodPlayBlockListListModel:CNLiveVodPlayBlockListListModel){ | 641 | func vodShare(vodPlayBlockListListModel:CNLiveVodPlayBlockListListModel){ |
| 607 | - //vodPlayBlockListListModel.img | ||
| 608 | - //vodPlayBlockListListModel.title | ||
| 609 | - //vodPlayBlockListListModel.subTitle | ||
| 610 | - // | ||
| 611 | - //http://wjjh5.cnlive.com/cnYjzg.html?id=2&version=1.0.9&isShowTitle=true&plat=i&wjjFrom=apple&backgroundColor=%234B8AF5&wjjToken=ACGspwyhX6xbuJ27P0flZOejyKjcS70g7VegVKRgAWPUzacEKgXz2JcmlAVoc5oG&appId=769_li40lrkt53&channelName=yjzg&shareSid=352610&isApp=false&ver=1.0.9.24.03.27.14&sid=352610&wjjUUID=B849E3C36DF04D89B0C8DB9322B69B51_1711520943&voteId=AS5FFqIhAAAQAAAAAAAAAA==&isWjjReport=true | ||
| 612 | - //https://wjjh5.cnlive.com/apkdownloadYuanma.php | ||
| 613 | CNLiveShareManager.showShareViewWithParam(forShareTitle: vodPlayBlockListListModel.title, shareUrl: "https://wjjh5.cnlive.com/apkdownloadYuanma.php", shareDesc: vodPlayBlockListListModel.desc, shareImage: vodPlayBlockListListModel.img, screenFull: false, hiddenWjj: true, hiddenQQ: false, hiddenWB: true, hiddenLifeCircle: true, hiddenWechatCircle: false, hiddenWechat: false, hiddenSafari: false, formVC: currentViewController(), topImage: [], topTitles: [], platformType: .all) { title in | 642 | CNLiveShareManager.showShareViewWithParam(forShareTitle: vodPlayBlockListListModel.title, shareUrl: "https://wjjh5.cnlive.com/apkdownloadYuanma.php", shareDesc: vodPlayBlockListListModel.desc, shareImage: vodPlayBlockListListModel.img, screenFull: false, hiddenWjj: true, hiddenQQ: false, hiddenWB: true, hiddenLifeCircle: true, hiddenWechatCircle: false, hiddenWechat: false, hiddenSafari: false, formVC: currentViewController(), topImage: [], topTitles: [], platformType: .all) { title in |
| 614 | 643 | ||
| 615 | } completerBlock: { resultType, platformType, typeString in | 644 | } completerBlock: { resultType, platformType, typeString in |
| @@ -663,7 +692,16 @@ class CNLiveTVPlayerViewController:UIViewController, UITableViewDataSource, UITa | @@ -663,7 +692,16 @@ class CNLiveTVPlayerViewController:UIViewController, UITableViewDataSource, UITa | ||
| 663 | self!.configDataArray() | 692 | self!.configDataArray() |
| 664 | self!.tableView.mj_header?.endRefreshing() | 693 | self!.tableView.mj_header?.endRefreshing() |
| 665 | self!.tableView.reloadData() | 694 | self!.tableView.reloadData() |
| 666 | - self!.playWithUrlAndTitle(url: url, title: "") | 695 | + var title = "" |
| 696 | + for (_,mdl) in vodPlayModel.blockList.enumerated(){ | ||
| 697 | + if mdl.type == "5" && mdl.list.count > 0 {//点播详情数据 | ||
| 698 | + //CNLiveVodPlayBlockListListModel | ||
| 699 | + if let playMdl = mdl.list.first as? CNLiveVodPlayBlockListListModel{ | ||
| 700 | + title = playMdl.title | ||
| 701 | + } | ||
| 702 | + } | ||
| 703 | + } | ||
| 704 | + self!.playWithUrlAndTitle(url: url, title: title) | ||
| 667 | }else{ | 705 | }else{ |
| 668 | 706 | ||
| 669 | } | 707 | } |
metaCode/Classes/Main/HuBiLieHomePage/View/VodDetail/CNLiveVodCellBottomView.swift
| @@ -3,7 +3,7 @@ | @@ -3,7 +3,7 @@ | ||
| 3 | // metaCode | 3 | // metaCode |
| 4 | // | 4 | // |
| 5 | // Created by zx on 2025/3/20. | 5 | // Created by zx on 2025/3/20. |
| 6 | -// | 6 | +// 看点展开View |
| 7 | 7 | ||
| 8 | import Foundation | 8 | import Foundation |
| 9 | 9 | ||
| @@ -135,6 +135,7 @@ class CNLiveVodCellBottomView:UIView, UITableViewDataSource, UITableViewDelegate | @@ -135,6 +135,7 @@ class CNLiveVodCellBottomView:UIView, UITableViewDataSource, UITableViewDelegate | ||
| 135 | //刷新点播页面 ,选中当前cell | 135 | //刷新点播页面 ,选中当前cell |
| 136 | self.selectIdx = indexPath.row | 136 | self.selectIdx = indexPath.row |
| 137 | if let historyModel = self.dataArray[indexPath.row] as? CNLiveVodPlayBlockListListModel{ | 137 | if let historyModel = self.dataArray[indexPath.row] as? CNLiveVodPlayBlockListListModel{ |
| 138 | + self.tableView.reloadData() | ||
| 138 | self.updateBlock?(self.selectIdx,historyModel) | 139 | self.updateBlock?(self.selectIdx,historyModel) |
| 139 | } | 140 | } |
| 140 | } | 141 | } |
metaCode/Classes/Main/HuBiLieHomePage/View/VodDetail/CNLiveVodTrailersCell.swift
| @@ -12,6 +12,7 @@ typealias CNLiveVodTrailersCellSelectBlock = (_ model:CNLiveVodPlayBlockListList | @@ -12,6 +12,7 @@ typealias CNLiveVodTrailersCellSelectBlock = (_ model:CNLiveVodPlayBlockListList | ||
| 12 | 12 | ||
| 13 | class CNLiveVodTrailersCell:UITableViewCell, UICollectionViewDelegate, UICollectionViewDataSource{ | 13 | class CNLiveVodTrailersCell:UITableViewCell, UICollectionViewDelegate, UICollectionViewDataSource{ |
| 14 | 14 | ||
| 15 | + var currSeleIdx:Int = -1 | ||
| 15 | var expandBlock:CNLiveVodTrailersCellExpandBlock? | 16 | var expandBlock:CNLiveVodTrailersCellExpandBlock? |
| 16 | var selectBlock:CNLiveVodTrailersCellSelectBlock? | 17 | var selectBlock:CNLiveVodTrailersCellSelectBlock? |
| 17 | lazy var albumListArr: NSMutableArray = { | 18 | lazy var albumListArr: NSMutableArray = { |
| @@ -104,8 +105,9 @@ class CNLiveVodTrailersCell:UITableViewCell, UICollectionViewDelegate, UICollect | @@ -104,8 +105,9 @@ class CNLiveVodTrailersCell:UITableViewCell, UICollectionViewDelegate, UICollect | ||
| 104 | func setupNewUI(model:CNLiveVodPlayBlockListModel){ | 105 | func setupNewUI(model:CNLiveVodPlayBlockListModel){ |
| 105 | self.titleLabel.text = model.name | 106 | self.titleLabel.text = model.name |
| 106 | self.albumListArr = NSMutableArray(array: model.list) | 107 | self.albumListArr = NSMutableArray(array: model.list) |
| 108 | + self.realHotCollectionView.scrollToItem(at: IndexPath(item: 0, section: 0), at: .left, animated: false) | ||
| 107 | self.realHotCollectionView.reloadData() | 109 | self.realHotCollectionView.reloadData() |
| 108 | - | 110 | + |
| 109 | } | 111 | } |
| 110 | 112 | ||
| 111 | @objc func detailBtnAction(){ | 113 | @objc func detailBtnAction(){ |
| @@ -121,7 +123,7 @@ class CNLiveVodTrailersCell:UITableViewCell, UICollectionViewDelegate, UICollect | @@ -121,7 +123,7 @@ class CNLiveVodTrailersCell:UITableViewCell, UICollectionViewDelegate, UICollect | ||
| 121 | let cell = collectionView.dequeueReusableCell(withReuseIdentifier: kCNLiveVodTrailersCollectionCellIdentifier, for: indexPath) as! CNLiveVodTrailersCollectionCell | 123 | let cell = collectionView.dequeueReusableCell(withReuseIdentifier: kCNLiveVodTrailersCollectionCellIdentifier, for: indexPath) as! CNLiveVodTrailersCollectionCell |
| 122 | cell.num = indexPath.row | 124 | cell.num = indexPath.row |
| 123 | //获取当前选中集数 | 125 | //获取当前选中集数 |
| 124 | - if indexPath.row == 0{ | 126 | + if indexPath.row == self.currSeleIdx{ |
| 125 | cell.isJiShuSelected = true | 127 | cell.isJiShuSelected = true |
| 126 | }else{ | 128 | }else{ |
| 127 | cell.isJiShuSelected = false | 129 | cell.isJiShuSelected = false |
| @@ -131,8 +133,10 @@ class CNLiveVodTrailersCell:UITableViewCell, UICollectionViewDelegate, UICollect | @@ -131,8 +133,10 @@ class CNLiveVodTrailersCell:UITableViewCell, UICollectionViewDelegate, UICollect | ||
| 131 | } | 133 | } |
| 132 | func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { | 134 | func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { |
| 133 | if let vodAlbumListModel = self.albumListArr[indexPath.row] as? CNLiveVodPlayBlockListListModel{ | 135 | if let vodAlbumListModel = self.albumListArr[indexPath.row] as? CNLiveVodPlayBlockListListModel{ |
| 136 | + self.currSeleIdx = indexPath.row | ||
| 134 | //点击某集,刷新页面 | 137 | //点击某集,刷新页面 |
| 135 | self.selectBlock?(vodAlbumListModel) | 138 | self.selectBlock?(vodAlbumListModel) |
| 139 | + self.realHotCollectionView.reloadData() | ||
| 136 | } | 140 | } |
| 137 | } | 141 | } |
| 138 | 142 |
metaCode/Classes/Main/HuBiLieHomePage/View/VodDetail/CNLiveVodTrailersCollectionCell.swift
| @@ -37,7 +37,8 @@ class CNLiveVodTrailersCollectionCell: UICollectionViewCell { | @@ -37,7 +37,8 @@ class CNLiveVodTrailersCollectionCell: UICollectionViewCell { | ||
| 37 | let iconImgView = UIView(frame: CGRect(x: 0, y: self.iconImgView.height, width: self.iconImgView.width, height: 76)) | 37 | let iconImgView = UIView(frame: CGRect(x: 0, y: self.iconImgView.height, width: self.iconImgView.width, height: 76)) |
| 38 | iconImgView.clipsToBounds = true | 38 | iconImgView.clipsToBounds = true |
| 39 | iconImgView.layer.cornerRadius = 10 | 39 | iconImgView.layer.cornerRadius = 10 |
| 40 | - iconImgView.layer.maskedCorners = [.layerMinXMaxYCorner, .layerMaxXMaxYCorner] | 40 | + iconImgView.layer.masksToBounds = true |
| 41 | +// iconImgView.layer.maskedCorners = [.layerMinXMaxYCorner, .layerMaxXMaxYCorner] | ||
| 41 | iconImgView.backgroundColor = HexColor("#FAFAFA") | 42 | iconImgView.backgroundColor = HexColor("#FAFAFA") |
| 42 | return iconImgView | 43 | return iconImgView |
| 43 | }() | 44 | }() |
| @@ -60,8 +61,8 @@ class CNLiveVodTrailersCollectionCell: UICollectionViewCell { | @@ -60,8 +61,8 @@ class CNLiveVodTrailersCollectionCell: UICollectionViewCell { | ||
| 60 | 61 | ||
| 61 | override init(frame: CGRect) { | 62 | override init(frame: CGRect) { |
| 62 | super.init(frame: frame) | 63 | super.init(frame: frame) |
| 63 | - self.contentView.addSubview(self.iconImgView) | ||
| 64 | self.contentView.addSubview(self.titleBgView) | 64 | self.contentView.addSubview(self.titleBgView) |
| 65 | + self.titleBgView.addSubview(self.iconImgView) | ||
| 65 | self.titleBgView.addSubview(self.titleLabel) | 66 | self.titleBgView.addSubview(self.titleLabel) |
| 66 | self.titleBgView.addSubview(self.subTitleLabel) | 67 | self.titleBgView.addSubview(self.subTitleLabel) |
| 67 | iconImgView.snp.makeConstraints { make in | 68 | iconImgView.snp.makeConstraints { make in |
| @@ -72,13 +73,13 @@ class CNLiveVodTrailersCollectionCell: UICollectionViewCell { | @@ -72,13 +73,13 @@ class CNLiveVodTrailersCollectionCell: UICollectionViewCell { | ||
| 72 | } | 73 | } |
| 73 | titleBgView.snp.makeConstraints { make in | 74 | titleBgView.snp.makeConstraints { make in |
| 74 | make.left.equalToSuperview() | 75 | make.left.equalToSuperview() |
| 75 | - make.top.equalTo(self.iconImgView.snp.bottom) | 76 | + make.top.equalTo(self.iconImgView.snp.top) |
| 76 | make.width.equalTo(self.iconImgView.snp.width) | 77 | make.width.equalTo(self.iconImgView.snp.width) |
| 77 | - make.height.equalTo(76) | 78 | + make.height.equalTo(self.iconImgView.snp.height).offset(76) |
| 78 | } | 79 | } |
| 79 | titleLabel.snp.makeConstraints { make in | 80 | titleLabel.snp.makeConstraints { make in |
| 80 | make.left.right.equalToSuperview() | 81 | make.left.right.equalToSuperview() |
| 81 | - make.top.equalToSuperview().offset(10) | 82 | + make.top.equalTo(self.iconImgView.snp.bottom).offset(10) |
| 82 | } | 83 | } |
| 83 | subTitleLabel.snp.makeConstraints { make in | 84 | subTitleLabel.snp.makeConstraints { make in |
| 84 | make.left.right.equalToSuperview() | 85 | make.left.right.equalToSuperview() |
| @@ -95,6 +96,19 @@ class CNLiveVodTrailersCollectionCell: UICollectionViewCell { | @@ -95,6 +96,19 @@ class CNLiveVodTrailersCollectionCell: UICollectionViewCell { | ||
| 95 | self.iconImgView.kf.setImage(with: URL(string: model.img)) | 96 | self.iconImgView.kf.setImage(with: URL(string: model.img)) |
| 96 | self.titleLabel.text = model.title | 97 | self.titleLabel.text = model.title |
| 97 | self.subTitleLabel.text = model.subTitle | 98 | self.subTitleLabel.text = model.subTitle |
| 99 | + | ||
| 100 | + if self.isJiShuSelected{ | ||
| 101 | + //选中 | ||
| 102 | + titleBgView.layer.borderColor = HexColor("#2076FF")?.cgColor | ||
| 103 | + titleBgView.layer.borderWidth = 0.5 | ||
| 104 | + titleBgView.backgroundColor = HexColor("#EBF2FF")//nor EEEEEE,sele #EBF2FF | ||
| 105 | + }else{ | ||
| 106 | + //未选中 | ||
| 107 | + titleBgView.layer.borderColor = HexColor("#EEEEEE")?.cgColor | ||
| 108 | + titleBgView.layer.borderWidth = 0 | ||
| 109 | + titleBgView.backgroundColor = HexColor("#EEEEEE")//nor EEEEEE,sele #EBF2FF | ||
| 110 | + } | ||
| 111 | + | ||
| 98 | } | 112 | } |
| 99 | 113 | ||
| 100 | } | 114 | } |