// // AppStore.swift // suixinkan // import Foundation /// 应用本地存储统一入口,负责组装各功能模块并协调退出登录清理。 final class AppStore { /// 全局应用存储。 static let shared = AppStore() /// 登录会话与当前账号存储。 let session: AppSessionStore /// 角色权限与首页权限缓存。 let permissions: AppPermissionStore /// 位置上报会话存储。 let location: AppLocationStore /// 收款功能偏好存储。 let payment: AppPaymentStore /// 景区排队功能存储。 let scenicQueue: AppScenicQueueStore /// 使用指定 UserDefaults 创建模块化应用存储。 init(defaults: UserDefaults = .standard) { let session = AppSessionStore(defaults: defaults) self.session = session permissions = AppPermissionStore(defaults: defaults, session: session) location = AppLocationStore(defaults: defaults, session: session) payment = AppPaymentStore(defaults: defaults, session: session) scenicQueue = AppScenicQueueStore(defaults: defaults, session: session) } /// 清除当前账号业务快照与登录态,保留隐私授权和上次登录用户名。 func logout() { permissions.clear() location.clear() payment.clear() scenicQueue.clear() session.clearAuthenticatedSession() } }