同步 Android 启动页到 iOS,并在冷启动期间静默恢复登录态。

新增 SplashView、SplashCoordinator 与 Launch Screen 资源,移除冷启动 Lottie;LoginView 加载 App 配置。同时将 token 存储迁移至 UserDefaults,并更新相关测试与文档。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-29 14:59:44 +08:00
parent 08492df6ce
commit 5bdf4a7dbf
29 changed files with 501 additions and 91 deletions

View File

@ -42,12 +42,12 @@ Core 模块提供跨业务复用的基础能力,包括网络请求、缓存存
## Storage
本地缓存按安全级别拆分:
- `SessionTokenStore`:使用 Keychain 保存正式 token。
- `SessionTokenStore`:使用 UserDefaults 保存正式 token。
- `AccountSnapshotStore`:使用 UserDefaults 保存非敏感账号快照。
- `AppPreferencesStore`:使用 UserDefaults 保存上次手机号、协议同意状态等偏好。
缓存边界:
- 正式 token 只放 Keychain
- 正式 token `SessionTokenStore` 写入 UserDefaults
- 临时 token 只放内存。
- 密码、验证码、OSS STS token、一次性扫码结果和错误提示不落盘。
- 头像、证件照等图片缓存交给 KingfisherCore 不保存图片 Data。
@ -86,7 +86,7 @@ Toast UI 是顶部全宽横幅,背景使用不透明主色并延伸到顶部
`UploadAPI` 通过 `/api/app/config/get-sts-token` 获取阿里云 OSS 临时上传配置。`OSSUploadService` 负责校验文件、生成 objectKey、调用 `AlibabaCloudOSS` SDK 并返回最终文件 URL。
上传模块只保存内存状态:
- STS token 不写入 Keychain 或 UserDefaults。
- STS token 不写入 UserDefaults。
- 用户选择的本地图片 Data 不落盘。
- 上传进度只用于当前页面展示。