ThimraTV/MoviaBox/Libs/Login/SPLoginManager.swift
2025-04-28 13:48:12 +08:00

86 lines
1.9 KiB
Swift
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// SPLoginManager.swift
// MoviaBox
//
// Created by on 2025/4/8.
//
import UIKit
class SPLoginManager: NSObject {
enum LoginType: Int {
case apple
case faceBook
}
static let manager = SPLoginManager()
private(set) var token: SPTokenModel?
///token
private(set) var isRefreshingToken = false
override init() {
super.init()
token = UserDefaults.jx_object(forKey: kSPLoginTokenDefaultsKey, class: SPTokenModel.self) as? SPTokenModel
}
///
func isLoginAndOpenLoginVC() -> Bool {
// if !isLogin {
// openLoginVC()
// }
// return isLogin
return false
}
func openLoginVC() {
let vc = SPLoginViewController()
let nav = SPNavigationController(rootViewController: vc)
nav.modalPresentationStyle = .fullScreen
SPAPPTool.topViewController()?.present(nav, animated: true)
}
func setLoginToken(token: SPTokenModel?) {
self.token = token
UserDefaults.jx_setObject(token, forKey: kSPLoginTokenDefaultsKey)
}
///
func thirdLogin(type: LoginType, presentingViewController: UIViewController) {
switch type {
case .apple:
appleSignLogin { model in
}
default:
break
}
}
}
extension SPLoginManager {
///
func requestVisitorLogin(completer: (() -> Void)?) {
if isRefreshingToken {
completer?()
return
}
isRefreshingToken = true
SPNetwork.requestToken { [weak self] token in
guard let self = self else { return }
self.isRefreshingToken = false
completer?()
}
}
}