// // 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 = ""//清空验证码 } }