Introduce APIClient/AuthAPI, complete login with multi-account selection, and polish the login card UI with shadow and keyboard dismiss. Co-authored-by: Cursor <cursoragent@cursor.com>
27 lines
819 B
Swift
27 lines
819 B
Swift
//
|
||
// AuthSessionHelper.swift
|
||
// suixinkan
|
||
//
|
||
|
||
import Foundation
|
||
|
||
/// 登录会话辅助工具,负责写入本地 Token 并广播登录成功通知。
|
||
enum AuthSessionHelper {
|
||
|
||
/// 完成登录,保存 Token 与用户偏好,并通知 SceneDelegate 切换根页面。
|
||
static func completeLogin(
|
||
with response: V9AuthResponse,
|
||
username: String,
|
||
privacyAgreementAccepted: Bool
|
||
) {
|
||
let token = response.token.trimmingCharacters(in: .whitespacesAndNewlines)
|
||
guard !token.isEmpty else { return }
|
||
|
||
AppStore.shared.saveToken(token)
|
||
AppStore.shared.lastLoginUsername = username
|
||
AppStore.shared.privacyAgreementAccepted = privacyAgreementAccepted
|
||
|
||
NotificationCenter.default.post(name: NotificationName.userDidLogin, object: nil)
|
||
}
|
||
}
|