// // SPLoginManager.swift // ShortPlay // // Created by 曾觉新 on 2025/4/8. // import UIKit class SPLoginManager: NSObject { 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 setLoginToken(token: SPTokenModel?) { self.token = token UserDefaults.jx_setObject(token, forKey: kSPLoginTokenDefaultsKey) } } extension SPLoginManager { ///游客登录 func requestVisitorLogin(completer: (() -> Void)?) { if isRefreshingToken { return } isRefreshingToken = true // var loding = true let param = SPNetworkParameters(path: "/customer/register") SPNetwork.request(parameters: param) { [weak self] (response: SPNetworkResponse) in guard let self = self else { return } if let token = response.data { self.setLoginToken(token: token) } self.isRefreshingToken = false // loding = false completer?() } // while loding { // RunLoop.current.run(mode: .default, before: Date.distantFuture) // } } }