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

1.5 KiB
Raw Blame History

Splash 模块业务逻辑

模块职责

Splash 模块负责冷启动时的品牌启动页展示,对齐 Android SplashActivity + activity_splash.xml 的视觉规范。

该模块不处理登录、隐私协议或远程配置,只承担启动阶段的品牌展示和时序控制。

核心对象

  • SplashView展示白底、180pt Logo、「随心瞰 / 商家版」文案。
  • SplashCoordinator:并行执行最短 1.5 秒展示与 SessionBootstrapper.restore,两者都完成后结束 Splash。
  • SplashLogo / LaunchBackground:启动页图片与背景色资源,同时用于系统 UILaunchScreen

展示规则

  • 背景色:白色 #FFFFFF
  • LogoSplashLogo180×180 pt
  • 标题:随心瞰40ptbold + italicAppDesign.primary
  • 副标题:商家版20ptbold距底 32pt

启动时序

  1. iOS 系统 Launch Screen 展示白底 + Logo。
  2. RootView 挂载后立即显示 SplashView
  3. SplashCoordinator.start 并行执行:
    • 最短展示 1.5 秒UI Test 模式跳过)
    • SessionBootstrapper.restore 静默恢复登录态
  4. 两者都完成后淡出 Splash进入 LoginViewMainTabsView
  5. 冷启动期间不显示 Lottie 全局 Loading。

与 Android 的差异

  • Android 首启隐私弹窗在 Splash 上iOS 仍在登录页勾选协议。
  • Android 系统 Launch Screen 与应用内 Splash 使用同一 XMLiOS 系统 Launch Screen 仅展示 Logo文案由 SwiftUI Splash 补齐。