同步 Android 启动页到 iOS,并在冷启动期间静默恢复登录态。
新增 SplashView、SplashCoordinator 与 Launch Screen 资源,移除冷启动 Lottie;LoginView 加载 App 配置。同时将 token 存储迁移至 UserDefaults,并更新相关测试与文档。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@ -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)
|
||||
|
||||
Reference in New Issue
Block a user