// // NewTraining.swift // OrderScheduling // // Created by 中道 on 2024/5/9. // import Foundation import RxSwift import RxRelay class NewTraining : NSObject { static let `default` = NewTraining() var newTrainingRelay = ReplayRelay.create(bufferSize: 1) var disposeBag = DisposeBag() override init() { super.init() newTrainingRelay .throttle(RxTimeInterval.seconds(5), latest: false, scheduler: MainScheduler.instance) .flatMapLatest({ _ in return RQ.jumpNewTrain() }) .observe(on: MainScheduler.instance) .subscribe(onNext: { response in if response?.success == true { if response?.data == true { let tabBarController = UIApplication.shared.dd_keyWindow.rootViewController as? UITabBarController let navController = tabBarController?.selectedViewController as? UINavigationController let vc = navController?.topViewController if vc?.isKind(of: WebViewController.self) == true, (vc as? WebViewController)?.vcTitle == WebViewTool.WebViewNameEnum.newTrainingList.rawValue { }else{ WEBTOOL.open(name: .newTrainingList, appending: nil) } } }else{ UIApplication.shared.dd_keyWindow.rootViewController?.view.dd_makeToast(response?.msg) } }) .disposed(by: disposeBag) } }