Files
suixinkan_ios_new/suixinkan/Features/Splash/Splash.md
汉秋 5bdf4a7dbf 同步 Android 启动页到 iOS,并在冷启动期间静默恢复登录态。
新增 SplashView、SplashCoordinator 与 Launch Screen 资源,移除冷启动 Lottie;LoginView 加载 App 配置。同时将 token 存储迁移至 UserDefaults,并更新相关测试与文档。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 14:59:44 +08:00

36 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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
- 标题:`随心瞰`40ptbold + italic`AppDesign.primary`
- 副标题:`商家版`20ptbold距底 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 使用同一 XMLiOS 系统 Launch Screen 仅展示 Logo文案由 SwiftUI Splash 补齐。