// // AuthAPI.swift // suixinkan // import Foundation @MainActor /// 登录认证 API,封装 config、v9 登录和账号选择相关接口。 final class AuthAPI { private let client: APIClient /// 初始化登录 API,并注入共享网络客户端。 init(client: APIClient) { self.client = client } /// 获取 App 配置,控制注册/验证码登录入口显隐。 func getAppConfig() async throws -> AppConfigResponse { try await client.send( APIRequest(method: .get, path: "/api/app/config") ) } /// 使用手机号和密码发起 v9 登录,返回临时 token 及可选账号列表。 func login(username: String, password: String) async throws -> V9AuthResponse { try await client.send( APIRequest( method: .post, path: "/api/app/v9/login", body: LoginRequest(username: username, password: password) ) ) } /// 选择具体景区或门店账号,换取正式登录 token。 func setUser(_ request: SetUserRequest, tokenOverride: String? = nil) async throws -> V9AuthResponse { try await client.send( APIRequest( method: .post, path: "/api/app/v9/set-user", body: request ), tokenOverride: tokenOverride ) } }