Commit b25a90f2a71e18ccbea774bb70daf25093b9fc58
1 parent
477c9de1
添加相关修改
Showing
3 changed files
with
81 additions
and
47 deletions
metaCode/Classes/Main/MinePage/Controller/CNLiveMineViewController.swift
| ... | ... | @@ -6,7 +6,7 @@ |
| 6 | 6 | // |
| 7 | 7 | |
| 8 | 8 | import Foundation |
| 9 | - | |
| 9 | +import CNLiveShareToolKit | |
| 10 | 10 | |
| 11 | 11 | class CNLiveMineViewController : CNLiveBaseViewController, UITableViewDelegate, UITableViewDataSource{ |
| 12 | 12 | |
| ... | ... | @@ -182,7 +182,8 @@ extension CNLiveMineViewController { |
| 182 | 182 | if indexPath.section == 4 { |
| 183 | 183 | if indexPath.row == 0 { |
| 184 | 184 | // self.navigationController?.pushViewController(CNLiveShopOrderViewController.init(), animated: true) |
| 185 | - StandSortManager.removeStandSort() | |
| 185 | +// StandSortManager.removeStandSort() | |
| 186 | +// CNLiveShareImageManager.pushWeChatMiniProgrem(withMiniAppId: "gh_234d4ed615a3", path: "page/login_hint/login_hint", extMsg: "", extDic: [:]) | |
| 186 | 187 | } |
| 187 | 188 | if indexPath.row == 1 { |
| 188 | 189 | self.navigationController?.pushViewController(CNLiveShopTransViewController.init(), animated: true) | ... | ... |
metaCode/Classes/Main/VideoPage/Controller/CNLiveShortVideoViewController.swift
| ... | ... | @@ -77,6 +77,7 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele |
| 77 | 77 | var pageNum: NSInteger! = 1 |
| 78 | 78 | var isSelectable: Bool! = false |
| 79 | 79 | var currentIndex: NSInteger! = 0 |
| 80 | + var pickerView: CNLiveShortVideoContentListView! | |
| 80 | 81 | var footerRefreshView: CNLiveFooterRefresh! |
| 81 | 82 | // var playerManager = ZFIJKPlayerManager.init() |
| 82 | 83 | var playerManager = ZFAVPlayerManager.init() |
| ... | ... | @@ -136,13 +137,14 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele |
| 136 | 137 | view.addSubview(backBtn) |
| 137 | 138 | |
| 138 | 139 | if self.dataArray.count == 0 { |
| 139 | - requestData {} | |
| 140 | + requestData {noMore in } | |
| 140 | 141 | } |
| 141 | 142 | |
| 142 | 143 | addRefreshView() |
| 143 | 144 | |
| 144 | 145 | player = ZFPlayerController(scrollView: tableView, playerManager: playerManager, containerViewTag: 100) |
| 145 | -// player.disableGestureTypes = //[.pan, .pinch] | |
| 146 | + player.disableGestureTypes = [.pan, .pinch] | |
| 147 | + player.disablePanMovingDirection = .vertical | |
| 146 | 148 | player.controlView = controlView |
| 147 | 149 | player.allowOrentitaionRotation = false |
| 148 | 150 | player.isWWANAutoPlay = true |
| ... | ... | @@ -197,7 +199,7 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele |
| 197 | 199 | self.player.stopCurrentPlayingCell() |
| 198 | 200 | self.currentIndex = 0 |
| 199 | 201 | self.pageNum += 1 |
| 200 | - self.requestData {} | |
| 202 | + self.requestData {noMore in } | |
| 201 | 203 | }) |
| 202 | 204 | //预加载下 |
| 203 | 205 | CNLiveQQEmotionManager.emotionsForQQ() |
| ... | ... | @@ -205,7 +207,7 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele |
| 205 | 207 | |
| 206 | 208 | @objc func headerRefresh() { |
| 207 | 209 | self.pageNum = 1 |
| 208 | - self.requestData {} | |
| 210 | + self.requestData {noMore in } | |
| 209 | 211 | } |
| 210 | 212 | |
| 211 | 213 | @objc func removePlayerAction() { |
| ... | ... | @@ -224,7 +226,7 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele |
| 224 | 226 | self.backBtn.frame = CGRectMake(15, KStatusBarHeight + 15, 45, 45) |
| 225 | 227 | } |
| 226 | 228 | |
| 227 | - func requestData(resultBlock: @escaping () -> Void) { | |
| 229 | + func requestData(resultBlock: @escaping (_ noMore: Bool) -> Void) { | |
| 228 | 230 | CNLiveShortVideoViewModel.requstWithShortVideo(aid: self.aid, page: self.pageNum) { [weak self] result, respStatue in |
| 229 | 231 | guard let self = self else { return } |
| 230 | 232 | if respStatue == .success { |
| ... | ... | @@ -242,6 +244,9 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele |
| 242 | 244 | if self.tableView.mj_footer != nil { |
| 243 | 245 | self.tableView.mj_footer?.endRefreshing() |
| 244 | 246 | } |
| 247 | + if self.pickerView != nil { | |
| 248 | + self.pickerView.setupWithArray(dataArray: self.dataArray) | |
| 249 | + } | |
| 245 | 250 | self.tableView.refreshControl?.endRefreshing() |
| 246 | 251 | self.tableView.reloadData() |
| 247 | 252 | if self.pageNum == 1 { |
| ... | ... | @@ -254,8 +259,10 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele |
| 254 | 259 | if !hasNextPage { |
| 255 | 260 | self.tableView.mj_footer?.endRefreshingWithNoMoreData() |
| 256 | 261 | self.tableView.reloadData() |
| 262 | + resultBlock(true) | |
| 257 | 263 | } |
| 258 | 264 | } else { |
| 265 | + resultBlock(false) | |
| 259 | 266 | if self.tableView.mj_footer == nil { |
| 260 | 267 | self.tableView.mj_footer = footerRefreshView |
| 261 | 268 | } |
| ... | ... | @@ -380,10 +387,21 @@ extension CNLiveShortVideoViewController { |
| 380 | 387 | } |
| 381 | 388 | } |
| 382 | 389 | func listActionMethod(viewcell: CNLiveShortVideoListTableViewCell, button: UIButton) { |
| 383 | - CNLiveShortVideoContentListView.showVideoContentListView(aid: viewcell.homeModel.albumMsgModel!.albumId,title: viewcell.homeModel.albumMsgModel!.albumName,dataArray: dataArray, episodeNow: viewcell.homeModel.albumMsgModel!.episodeNow, result: {[weak self] listModel in | |
| 390 | + pickerView = CNLiveShortVideoContentListView.showVideoContentListView(aid: viewcell.homeModel.albumMsgModel!.albumId,pageNum: self.pageNum,title: viewcell.homeModel.albumMsgModel!.albumName,dataArray: dataArray, episodeNow: viewcell.homeModel.albumMsgModel!.episodeNow, result: {[weak self] listModel in | |
| 384 | 391 | guard let self = self else { return } |
| 385 | 392 | let index = self.dataArray.index(of: listModel) as NSInteger |
| 386 | 393 | self.playTheIndex(index: index) |
| 394 | + }, reload: {[weak self] page in | |
| 395 | + guard let self = self else { return } | |
| 396 | + self.player.stopCurrentPlayingCell() | |
| 397 | + self.currentIndex = 0 | |
| 398 | + self.pageNum = page | |
| 399 | + self.requestData { noMore in | |
| 400 | + self.pickerView.tableView.mj_footer?.endRefreshing() | |
| 401 | + if noMore { | |
| 402 | + self.pickerView.tableView.mj_footer?.endRefreshingWithNoMoreData() | |
| 403 | + } | |
| 404 | + } | |
| 387 | 405 | }) |
| 388 | 406 | } |
| 389 | 407 | func payActionMethod(viewcell: CNLiveShortVideoListTableViewCell, button: UIButton) { | ... | ... |
metaCode/Classes/Main/VideoPage/View/CNLiveShortVideoContentListView.swift
| ... | ... | @@ -10,7 +10,7 @@ import MJRefresh |
| 10 | 10 | import EmptyDataSet_Swift |
| 11 | 11 | |
| 12 | 12 | typealias CloseVideoListResultBlock = (_ listModel: Any) ->Void |
| 13 | -typealias ReloadVideoListResultBlock = (_ dataArray: NSMutableArray) ->Void | |
| 13 | +typealias ReloadVideoListResultBlock = (_ page: NSInteger) ->Void | |
| 14 | 14 | class CNLiveShortVideoContentListView: UIView, UITableViewDelegate, UITableViewDataSource, EmptyDataSetSource, EmptyDataSetDelegate { |
| 15 | 15 | |
| 16 | 16 | lazy var grayMaskView: UIView = { |
| ... | ... | @@ -133,45 +133,41 @@ class CNLiveShortVideoContentListView: UIView, UITableViewDelegate, UITableViewD |
| 133 | 133 | self.tableView.mj_footer = footerRefreshView |
| 134 | 134 | } |
| 135 | 135 | |
| 136 | - func setupWithDataSource(title: String,dataArray: NSMutableArray,episodeNow: String) { | |
| 137 | - dataSource = dataArray | |
| 138 | - if Int(episodeNow) == dataArray.count { | |
| 139 | - self.tableView.mj_footer?.endRefreshingWithNoMoreData() | |
| 140 | - } else { | |
| 141 | - self.pageNum = dataArray.count / 10 | |
| 142 | - } | |
| 143 | - titleLabel.text = "\(title)·\(episodeNow)集" | |
| 144 | - self.tableView.reloadData() | |
| 145 | - } | |
| 136 | + | |
| 146 | 137 | |
| 147 | 138 | func requestData() { |
| 148 | - CNLiveShortVideoViewModel.requstWithShortVideo(aid: self.aid, page: self.pageNum) { [weak self] result, respStatue in | |
| 149 | - guard let self = self else { return } | |
| 150 | - if respStatue == .success { | |
| 151 | - let listArray = (result as! [Any]).first as! [CNLiveAlbumListModel] | |
| 152 | - self.dataSource.addObjects(from: listArray) | |
| 153 | - if self.tableView.mj_footer != nil { | |
| 154 | - self.tableView.mj_footer?.endRefreshing() | |
| 155 | - } | |
| 156 | - self.tableView.reloadData() | |
| 157 | - let hasNextPage = (result as! [Any])[1] as! Bool | |
| 158 | - if listArray.count == 0 { | |
| 159 | - if !hasNextPage { | |
| 160 | - self.tableView.mj_footer?.endRefreshingWithNoMoreData() | |
| 161 | - self.tableView.reloadData() | |
| 162 | - } | |
| 163 | - } | |
| 164 | - } else { | |
| 165 | - if self.tableView.mj_footer != nil { | |
| 166 | - self.tableView.mj_footer?.endRefreshing() | |
| 167 | - } | |
| 168 | - self.tableView.contentOffset = CGPoint.zero | |
| 169 | - self.tableView.refreshControl?.endRefreshing() | |
| 170 | - if self.dataSource.count == 0 { | |
| 171 | - self.tableView.reloadEmptyDataSet() | |
| 172 | - } | |
| 173 | - } | |
| 174 | - } | |
| 139 | + self.reloadBlock(self.pageNum) | |
| 140 | +// CNLiveShortVideoViewModel.requstWithShortVideo(aid: self.aid, page: self.pageNum) { [weak self] result, respStatue in | |
| 141 | +// guard let self = self else { return } | |
| 142 | +// if respStatue == .success { | |
| 143 | +// let listArray = (result as! [Any]).first as! [CNLiveAlbumListModel] | |
| 144 | +// self.dataSource.addObjects(from: listArray) | |
| 145 | +// let urlArray = (result as! [Any]).last as! [String] | |
| 146 | +// if listArray.count > 0 { | |
| 147 | +// self.reloadBlock(NSMutableArray(array: listArray), NSMutableArray(array: urlArray), self.pageNum) | |
| 148 | +// } | |
| 149 | +// if self.tableView.mj_footer != nil { | |
| 150 | +// self.tableView.mj_footer?.endRefreshing() | |
| 151 | +// } | |
| 152 | +// self.tableView.reloadData() | |
| 153 | +// let hasNextPage = (result as! [Any])[1] as! Bool | |
| 154 | +// if listArray.count == 0 { | |
| 155 | +// if !hasNextPage { | |
| 156 | +// self.tableView.mj_footer?.endRefreshingWithNoMoreData() | |
| 157 | +// self.tableView.reloadData() | |
| 158 | +// } | |
| 159 | +// } | |
| 160 | +// } else { | |
| 161 | +// if self.tableView.mj_footer != nil { | |
| 162 | +// self.tableView.mj_footer?.endRefreshing() | |
| 163 | +// } | |
| 164 | +// self.tableView.contentOffset = CGPoint.zero | |
| 165 | +// self.tableView.refreshControl?.endRefreshing() | |
| 166 | +// if self.dataSource.count == 0 { | |
| 167 | +// self.tableView.reloadEmptyDataSet() | |
| 168 | +// } | |
| 169 | +// } | |
| 170 | +// } | |
| 175 | 171 | } |
| 176 | 172 | |
| 177 | 173 | required init?(coder: NSCoder) { |
| ... | ... | @@ -186,11 +182,13 @@ class CNLiveShortVideoContentListView: UIView, UITableViewDelegate, UITableViewD |
| 186 | 182 | removeFromSuperview() |
| 187 | 183 | } |
| 188 | 184 | |
| 189 | - static public func showVideoContentListView(aid: String,title: String,dataArray: NSMutableArray,episodeNow: String ,result: @escaping CloseVideoListResultBlock) { | |
| 185 | + static public func showVideoContentListView(aid: String, pageNum: NSInteger,title: String,dataArray: NSMutableArray,episodeNow: String ,result: @escaping CloseVideoListResultBlock, reload: @escaping ReloadVideoListResultBlock) -> CNLiveShortVideoContentListView { | |
| 190 | 186 | |
| 191 | 187 | let pickerView = CNLiveShortVideoContentListView.init(frame: CGRect.zero) |
| 192 | 188 | pickerView.aid = aid |
| 189 | + pickerView.pageNum = pageNum | |
| 193 | 190 | pickerView.resultBlock = result |
| 191 | + pickerView.reloadBlock = reload | |
| 194 | 192 | pickerView.setupWithDataSource(title: title,dataArray: dataArray,episodeNow: episodeNow) |
| 195 | 193 | |
| 196 | 194 | let delegate = UIApplication.shared.delegate as! AppDelegate |
| ... | ... | @@ -203,6 +201,23 @@ class CNLiveShortVideoContentListView: UIView, UITableViewDelegate, UITableViewD |
| 203 | 201 | UIView.animate(withDuration: 0.1) { |
| 204 | 202 | pickerView.alpha = 1 |
| 205 | 203 | } completion: { _ in} |
| 204 | + return pickerView | |
| 205 | + } | |
| 206 | + | |
| 207 | + func setupWithDataSource(title: String,dataArray: NSMutableArray,episodeNow: String) { | |
| 208 | + dataSource = dataArray | |
| 209 | + if Int(episodeNow) == dataArray.count { | |
| 210 | + self.tableView.mj_footer?.endRefreshingWithNoMoreData() | |
| 211 | + } else { | |
| 212 | + self.pageNum = dataArray.count / 10 | |
| 213 | + } | |
| 214 | + titleLabel.text = "\(title)·\(episodeNow)集" | |
| 215 | + self.tableView.reloadData() | |
| 216 | + } | |
| 217 | + | |
| 218 | + public func setupWithArray(dataArray: NSMutableArray) { | |
| 219 | + dataSource = dataArray | |
| 220 | + self.tableView.reloadData() | |
| 206 | 221 | } |
| 207 | 222 | |
| 208 | 223 | } | ... | ... |