# Splash 模块业务逻辑 ## 模块职责 Splash 模块负责冷启动时的品牌启动页展示,对齐 Android `SplashActivity` + `activity_splash.xml` 的视觉规范。 该模块不处理登录、隐私协议或远程配置,只承担启动阶段的品牌展示和时序控制。 ## 核心对象 - `SplashView`:展示白底、180pt Logo、「随心瞰 / 商家版」文案。 - `SplashCoordinator`:并行执行最短 1.5 秒展示与 `SessionBootstrapper.restore`,两者都完成后结束 Splash。 - `SplashLogo` / `LaunchBackground`:启动页图片与背景色资源,同时用于系统 `UILaunchScreen`。 ## 展示规则 - 背景色:白色 `#FFFFFF` - Logo:`SplashLogo`,180×180 pt - 标题:`随心瞰`,40pt,bold + italic,`AppDesign.primary` - 副标题:`商家版`,20pt,bold,距底 32pt ## 启动时序 1. iOS 系统 Launch Screen 展示白底 + Logo。 2. `RootView` 挂载后立即显示 `SplashView`。 3. `SplashCoordinator.start` 并行执行: - 最短展示 1.5 秒(UI Test 模式跳过) - `SessionBootstrapper.restore` 静默恢复登录态 4. 两者都完成后淡出 Splash,进入 `LoginView` 或 `MainTabsView`。 5. 冷启动期间不显示 Lottie 全局 Loading。 ## 与 Android 的差异 - Android 首启隐私弹窗在 Splash 上;iOS 仍在登录页勾选协议。 - Android 系统 Launch Screen 与应用内 Splash 使用同一 XML;iOS 系统 Launch Screen 仅展示 Logo,文案由 SwiftUI Splash 补齐。