同步 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

@ -78,6 +78,7 @@ final class LoginViewModel: ObservableObject {
@Published var showsPassword = false
@Published var showsAgreementSheet = false
@Published var pendingAccountSelection: AccountSelectionPayload?
@Published private(set) var enableRegister = false
var canSubmit: Bool {
isValidPhone && !trimmedPassword.isEmpty
@ -124,6 +125,16 @@ final class LoginViewModel: ObservableObject {
showsAgreementSheet = false
}
/// App Android
func loadAppConfig(appConfigAPI: AppConfigAPI) async {
do {
let config = try await appConfigAPI.fetchAppConfig()
enableRegister = config.enableRegister
} catch {
// false
}
}
/// +86 11
func normalizeUsernameCountryCodeIfNeeded() {
let digits = username.filter(\.isNumber)