Files
OrderScheduling/OrderScheduling/NewTraining/NewTraining.swift

46 lines
1.6 KiB
Swift

//
// 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<Any?>.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)
}
}