From f2e891eecfac25bf6aed38c8eadfdf05704b16b6 Mon Sep 17 00:00:00 2001 From: 无故事王国 <841720330@qq.com> Date: 星期四, 20 六月 2024 18:48:39 +0800 Subject: [PATCH] fix --- DolphinEnglishLearnStudent/SceneDelegate.swift | 27 +++++++++++++++++++++++---- 1 files changed, 23 insertions(+), 4 deletions(-) diff --git a/DolphinEnglishLearnStudent/SceneDelegate.swift b/DolphinEnglishLearnStudent/SceneDelegate.swift index 16c7ef8..ec8d9ae 100644 --- a/DolphinEnglishLearnStudent/SceneDelegate.swift +++ b/DolphinEnglishLearnStudent/SceneDelegate.swift @@ -11,11 +11,13 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { var window: UIWindow? + var globalTimeval:Int? + var timer:Timer? private var disposeBag = JQ_disposeBag func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { guard let windowScene = (scene as? UIWindowScene) else { return } - + UserDefaults.standard.set(Date().timeIntervalSince1970, forKey: "scheduledTimer") window = UIWindow(windowScene: windowScene) window?.frame = windowScene.coordinateSpace.bounds if #available(iOS 13.0, *) { @@ -25,9 +27,8 @@ SVProgressHUD.setMaximumDismissTimeInterval(1.5) SVProgressHUD.setDefaultMaskType(.custom) - guard let tokenModel = LoginTokenModel.getToken(),!LoginTokenModel.isOverdue() else { - needLogin() - return + guard !LoginTokenModel.isOverdue() else { + needLogin();return } loginSuccess() @@ -89,5 +90,23 @@ LoginTokenModel.clearToken() } + + func startTimer(){ + guard let timeval = globalTimeval else {return} + timer = Timer.scheduledTimer(withTimeInterval: 60, repeats: true) {[weak self] timer in + guard let weakSelf = self else { return } + if let v = UserDefaults.standard.object(forKey: "scheduledTimer") as? TimeInterval{ + if Date().timeIntervalSince1970 - v > Double(timeval) * 60.0{ + Services.giveIntegral().subscribe(onNext: { _ in + + }).disposed(by: weakSelf.disposeBag) + UserDefaults.standard.set(Date().timeIntervalSince1970, forKey: "scheduledTimer") + UserDefaults.standard.synchronize() + } + } + } + timer?.fire() + RunLoop.current.add(timer!, forMode: .common) + } } -- Gitblit v1.7.1