// // AppStore.swift // suixinkan // import Foundation /// 本地会话存储,与 Android `AppStoreDataSource` 对齐。 /// 当前以 Token 是否非空判断登录态。 final class AppStore { static let shared = AppStore() private enum Key { static let token = "key_in_token" } private let defaults: UserDefaults init(defaults: UserDefaults = .standard) { self.defaults = defaults } /// 登录 Token。 var token: String { get { defaults.string(forKey: Key.token) ?? "" } set { defaults.set(newValue, forKey: Key.token) } } /// Token 非空视为已登录。 var isLoggedIn: Bool { !token.isEmpty } /// 保存登录 Token。 func saveToken(_ token: String) { self.token = token } /// 清除登录态。 func logout() { token = "" } }