2026-04-17 16:47:57 +08:00

42 lines
1.1 KiB
Swift

//
// LoginState.swift
// punchnet
//
// Created by on 2026/1/16.
//
import Foundation
import Observation
import SwiftUI
@Observable
class RegisterModel {
enum Stage: Equatable {
case requestVerifyCode
case submitVerifyCode
case setPassword
case success
}
//
var phoneNumber: String = ""
var sessionId: Int = 0
var stage: Stage = .requestVerifyCode
var transitionEdge: Edge = .trailing //
func requestVerifyCode(phoneNumber: String) async throws -> AuthService.RegisterSession {
return try await AuthService.requestRegisterVerifyCode(phoneNumber: phoneNumber)
}
func submitVerifyCode(sessionId: Int, verifyCode: String) async throws -> String {
return try await AuthService.submitRegisterVerifyCode(sessionId: sessionId, verifyCode: verifyCode)
}
func register(sessionId: Int, password: String) async throws -> String {
return try await AuthService.register(sessionId: sessionId, password: password)
}
}