// // LunchViewController.swift // MusicPlayer // // Created by Mr.Zhou on 2024/3/27. // import UIKit ///启动页 class MP_LunchViewController: UIViewController { @IBOutlet weak var progressView: MP_Lunch_ProgressView!{ didSet{ progressView.layer.masksToBounds = true } } //帧计时器 private var timer:CADisplayLink! //最大计时值 private lazy var maxTimes:TimeInterval = 6 //当前计时值 private lazy var currentTimes:TimeInterval = 0 //计时器结束事件 private var completionBlock:(() -> Void)? override func viewDidLoad() { super.viewDidLoad() view.backgroundColor = .init(hex: "#000000") timer = CADisplayLink(target: self, selector: #selector(timerActionClick(_ :))) //一秒执行多少次 timer.preferredFramesPerSecond = 20 //开辟线程 timer.add(to: RunLoop.current, forMode: .common) DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { [weak self] in guard let self = self else {return} requestTrackingAuthorization { idfa in if let idfa = idfa { print("用户同意授权-idfa:\(idfa)") } } } MP_AnalyticsManager.shared.getOpenStatus { [weak self] open in guard let self = self else {return} if open { //根据ip值确定进入那个页面 MP_NetWorkManager.shared.requestIPInfo { statu in if statu == true { //允许进入b面 print("BLog") self.completionBlock = { DispatchQueue.main.async { [weak self] in guard let self = self else {return} //停止计时器 timer.isPaused = true //加载完毕,判断并跳转 accessAppdelegate.switch_positive() //获取首页 MPPositive_BrowseLoadViewModel.shared.reloadBrowseLists() } } }else { print("ALog") //打开A面 self.completionBlock = { DispatchQueue.main.async { [weak self] in guard let self = self else {return} //停止计时器 timer.isPaused = true //加载完毕,判断并跳转 accessAppdelegate.switch_aSide() } } } } }else { print("ALog") //打开A面 completionBlock = { DispatchQueue.main.async { [weak self] in guard let self = self else {return} //停止计时器 timer.isPaused = true //加载完毕,判断并跳转 accessAppdelegate.switch_aSide() } } } } //启动计时器 timer.isPaused = false // self.completionBlock = { // DispatchQueue.main.async { // [weak self] in // guard let self = self else {return} // //停止计时器 // timer.isPaused = true // //加载完毕,判断并跳转 // accessAppdelegate.switch_positive() // //获取首页 // MPPositive_BrowseLoadViewModel.shared.reloadBrowseLists() // } // } } deinit { //销毁计时器 timer.invalidate() timer = nil NotificationCenter.default.removeObserver(self) } override func viewWillDisappear(_ animated: Bool) { super.viewWillDisappear(animated) MP_AnalyticsManager.shared.launch_pvAction() } //计时器执行事件 @objc fileprivate func timerActionClick(_ link:CADisplayLink) { if maxTimes > currentTimes { //未加载完 currentTimes += 0.05 let value = currentTimes/maxTimes DispatchQueue.main.async { [weak self] in guard let self = self else {return} //设置进度条 progressView.setProgress(value) } }else { if completionBlock != nil { completionBlock!() } } } }