修复播放详情bug

This commit is contained in:
zeng 2025-06-16 09:25:23 +08:00
parent ef0b3b1ab8
commit 8ebd677a1e
3 changed files with 23 additions and 16 deletions

View File

@ -25,6 +25,7 @@ class SPVideoAPI: NSObject {
var param = SPNetworkParameters(path: "/getVideoDetails") var param = SPNetworkParameters(path: "/getVideoDetails")
param.method = .get param.method = .get
param.parameters = parameters param.parameters = parameters
param.isLoding = true
SPNetwork.request(parameters: param) { (response: SPNetworkResponse<SPVideoDetailModel>) in SPNetwork.request(parameters: param) { (response: SPNetworkResponse<SPVideoDetailModel>) in
completer?(response.data) completer?(response.data)

View File

@ -235,6 +235,10 @@ extension SPPlayerDetailViewController {
let view = SPPlayBuyView() let view = SPPlayBuyView()
view.shortPlayId = videoInfo.short_play_id view.shortPlayId = videoInfo.short_play_id
view.videoId = videoInfo.short_play_video_id view.videoId = videoInfo.short_play_video_id
view.buyFinishBlock = { [weak self] in
guard let self = self else { return }
self.requestDetailData(indexPath: self.currentIndexPath)
}
view.present(in: nil) view.present(in: nil)
} }
@ -295,15 +299,15 @@ extension SPPlayerDetailViewController {
} }
@objc private func buyVipFinishNotification() { @objc private func buyVipFinishNotification() {
guard SPLoginManager.manager.userInfo?.is_vip == true else { return } // guard SPLoginManager.manager.userInfo?.is_vip == true else { return }
//
self.detailModel?.episodeList?.forEach({ // self.detailModel?.episodeList?.forEach({
$0.is_lock = false // $0.is_lock = false
}) // })
//
self.reloadData { [weak self] in // self.reloadData { [weak self] in
self?.play() // self?.play()
} // }
} }
/// ///
@objc private func reachabilityDidChangeNotification() { @objc private func reachabilityDidChangeNotification() {
@ -368,7 +372,7 @@ extension SPPlayerDetailViewController {
extension SPPlayerDetailViewController { extension SPPlayerDetailViewController {
private func requestDetailData() { private func requestDetailData(indexPath: IndexPath? = nil) {
guard let shortPlayId = self.shortPlayId else { return } guard let shortPlayId = self.shortPlayId else { return }
isShowRecommand = false isShowRecommand = false
recommandTimer?.invalidate() recommandTimer?.invalidate()
@ -382,7 +386,10 @@ extension SPPlayerDetailViewController {
self.reloadData { [weak self] in self.reloadData { [weak self] in
guard let self = self else { return } guard let self = self else { return }
if let videoInfo = self.detailModel?.video_info { if let indexPath = indexPath, indexPath.row < (model.episodeList?.count ?? 0) {
self.scrollToItem(indexPath: indexPath, animated: false)
} else if let videoInfo = self.detailModel?.video_info {
var row: Int? var row: Int?
self.detailModel?.episodeList?.enumerated().forEach({ self.detailModel?.episodeList?.enumerated().forEach({
if $1.id == videoInfo.id { if $1.id == videoInfo.id {
@ -390,11 +397,7 @@ extension SPPlayerDetailViewController {
} }
}) })
if let row = row { if let row = row {
self.scrollToItem(indexPath: IndexPath(row: row, section: 0), animated: false) { [weak self] in self.scrollToItem(indexPath: .init(row: row, section: 0), animated: false)
guard let self = self else { return }
//
// self.viewModel.currentPlayer?.seekToTime(toTime: (videoInfo.play_seconds ?? 0) / 1000)
}
} else { } else {
self.scrollToItem(indexPath: .init(row: 0, section: 0), animated: false) self.scrollToItem(indexPath: .init(row: 0, section: 0), animated: false)
} }

View File

@ -9,6 +9,8 @@ import UIKit
class SPPlayBuyView: HWPanModalContentView { class SPPlayBuyView: HWPanModalContentView {
var buyFinishBlock: (() -> Void)?
var shortPlayId: String? { var shortPlayId: String? {
didSet { didSet {
rechargeView.shortPlayId = shortPlayId rechargeView.shortPlayId = shortPlayId
@ -122,6 +124,7 @@ extension SPPlayBuyView {
guard let self = self else { return } guard let self = self else { return }
self.rechargeView.userInfo = SPLoginManager.manager.userInfo self.rechargeView.userInfo = SPLoginManager.manager.userInfo
} }
self.buyFinishBlock?()
self.dismiss(animated: true) { self.dismiss(animated: true) {