未登录冷启动可立即进入登录页;已登录仍等待 bootstrap 接口完成,但不再叠加人为延迟。 Co-authored-by: Cursor <cursoragent@cursor.com>
1.4 KiB
1.4 KiB
Splash 模块业务逻辑
模块职责
Splash 模块负责冷启动时的品牌启动页展示,对齐 Android SplashActivity + activity_splash.xml 的视觉规范。
该模块不处理登录、隐私协议或远程配置,只承担启动阶段的品牌展示和时序控制。
核心对象
SplashView:展示白底、180pt Logo、「随心瞰 / 商家版」文案。SplashCoordinator:并行执行SessionBootstrapper.restore,bootstrap 完成后结束 Splash(无固定最短展示时长)。SplashLogo/LaunchBackground:启动页图片与背景色资源,同时用于系统UILaunchScreen。
展示规则
- 背景色:白色
#FFFFFF - Logo:
SplashLogo,180×180 pt - 标题:
随心瞰,40pt,bold + italic,AppDesign.primary - 副标题:
商家版,20pt,bold,距底 32pt
启动时序
- iOS 系统 Launch Screen 展示白底 + Logo。
RootView挂载后立即显示SplashView。SplashCoordinator.start并行执行SessionBootstrapper.restore静默恢复登录态。- bootstrap 完成后淡出 Splash,进入
LoginView或MainTabsView。 - 冷启动期间不显示 Lottie 全局 Loading。
与 Android 的差异
- Android 首启隐私弹窗在 Splash 上;iOS 仍在登录页勾选协议。
- Android 系统 Launch Screen 与应用内 Splash 使用同一 XML;iOS 系统 Launch Screen 仅展示 Logo,文案由 SwiftUI Splash 补齐。