From 8ebd677a1e6073aa065eabf8530eb39af155dca8 Mon Sep 17 00:00:00 2001 From: zeng Date: Mon, 16 Jun 2025 09:25:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=92=AD=E6=94=BE=E8=AF=A6?= =?UTF-8?q?=E6=83=85bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MoviaBox/Base/Networking/API/SPVideoAPI.swift | 1 + .../SPPlayerDetailViewController.swift | 35 ++++++++++--------- .../Class/Player/View/SPPlayBuyView.swift | 3 ++ 3 files changed, 23 insertions(+), 16 deletions(-) diff --git a/MoviaBox/Base/Networking/API/SPVideoAPI.swift b/MoviaBox/Base/Networking/API/SPVideoAPI.swift index cb44a1a..8a3ca8a 100644 --- a/MoviaBox/Base/Networking/API/SPVideoAPI.swift +++ b/MoviaBox/Base/Networking/API/SPVideoAPI.swift @@ -25,6 +25,7 @@ class SPVideoAPI: NSObject { var param = SPNetworkParameters(path: "/getVideoDetails") param.method = .get param.parameters = parameters + param.isLoding = true SPNetwork.request(parameters: param) { (response: SPNetworkResponse) in completer?(response.data) diff --git a/MoviaBox/Class/Player/Controller/SPPlayerDetailViewController.swift b/MoviaBox/Class/Player/Controller/SPPlayerDetailViewController.swift index 52874a6..7534841 100644 --- a/MoviaBox/Class/Player/Controller/SPPlayerDetailViewController.swift +++ b/MoviaBox/Class/Player/Controller/SPPlayerDetailViewController.swift @@ -235,6 +235,10 @@ extension SPPlayerDetailViewController { let view = SPPlayBuyView() view.shortPlayId = videoInfo.short_play_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) } @@ -295,15 +299,15 @@ extension SPPlayerDetailViewController { } @objc private func buyVipFinishNotification() { - guard SPLoginManager.manager.userInfo?.is_vip == true else { return } - - self.detailModel?.episodeList?.forEach({ - $0.is_lock = false - }) - - self.reloadData { [weak self] in - self?.play() - } +// guard SPLoginManager.manager.userInfo?.is_vip == true else { return } +// +// self.detailModel?.episodeList?.forEach({ +// $0.is_lock = false +// }) +// +// self.reloadData { [weak self] in +// self?.play() +// } } ///网络切换通知 @objc private func reachabilityDidChangeNotification() { @@ -368,7 +372,7 @@ extension SPPlayerDetailViewController { extension SPPlayerDetailViewController { - private func requestDetailData() { + private func requestDetailData(indexPath: IndexPath? = nil) { guard let shortPlayId = self.shortPlayId else { return } isShowRecommand = false recommandTimer?.invalidate() @@ -382,7 +386,10 @@ extension SPPlayerDetailViewController { self.reloadData { [weak self] in 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? self.detailModel?.episodeList?.enumerated().forEach({ if $1.id == videoInfo.id { @@ -390,11 +397,7 @@ extension SPPlayerDetailViewController { } }) if let row = row { - self.scrollToItem(indexPath: IndexPath(row: row, section: 0), animated: false) { [weak self] in - guard let self = self else { return } - //跳转到指定进度 -// self.viewModel.currentPlayer?.seekToTime(toTime: (videoInfo.play_seconds ?? 0) / 1000) - } + self.scrollToItem(indexPath: .init(row: row, section: 0), animated: false) } else { self.scrollToItem(indexPath: .init(row: 0, section: 0), animated: false) } diff --git a/MoviaBox/Class/Player/View/SPPlayBuyView.swift b/MoviaBox/Class/Player/View/SPPlayBuyView.swift index 9a7a2ac..489d342 100644 --- a/MoviaBox/Class/Player/View/SPPlayBuyView.swift +++ b/MoviaBox/Class/Player/View/SPPlayBuyView.swift @@ -9,6 +9,8 @@ import UIKit class SPPlayBuyView: HWPanModalContentView { + var buyFinishBlock: (() -> Void)? + var shortPlayId: String? { didSet { rechargeView.shortPlayId = shortPlayId @@ -122,6 +124,7 @@ extension SPPlayBuyView { guard let self = self else { return } self.rechargeView.userInfo = SPLoginManager.manager.userInfo } + self.buyFinishBlock?() self.dismiss(animated: true) {