IOS_Boss/IOS_study/Auth/SignInPhoneViewModel.swift
2025-07-27 12:33:06 +08:00

38 lines
1.1 KiB
Swift

//
// SignInPhoneViewModel.swift
// IOS_study
//
// Created by CC-star on 2025/7/10.
//
import Foundation
@Observable final class SignInPhoneViewModel {
// @Environment(AuthViewModel.self) var vm
var phoneNum = ""
var verCode = ""
var isLogining = false
@MainActor func getVerCode(phoneNum: String, tName: String, sName: String) async throws {
try await AuthManager.shared.getVerCode(phoneNum: phoneNum, tName: tName, sName: sName)
}
@MainActor func login() async throws {
let user = try await AuthManager.shared.login(phoneNum: phoneNum, verCode: verCode)
// printf(user.mobilePhoneNumber?.value)
if let isNewUser = user.get("isNewUser")?.boolValue, !isNewUser {//
} else {//
try user.set("isNewUser", value: false)
try await user.save()//
try await UserManager.shared.create(user: user)
}
NotificationCenter.default.post(name: .loginSuccess, object: nil)//
verCode = ""//
}
}