添加登录流程、会话路由和对齐参考 UI 的主 Tab 框架

This commit is contained in:
2026-07-06 15:12:34 +08:00
parent 3611547abe
commit 31ffec0f2b
70 changed files with 1588 additions and 48 deletions
+44
View File
@@ -0,0 +1,44 @@
//
// 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 = ""
}
}