MoviaBox/ShortPlay/Libs/Login/SPLoginManager.swift
2025-04-09 18:24:58 +08:00

58 lines
1.4 KiB
Swift

//
// 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<SPTokenModel>) 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)
// }
}
}