import Foundation import os.log // MARK: - Request/Response Models struct UpdateUsernameRequest: Codable { let username: String let userId: String } struct UpdateUsernameResponse: Codable { let success: Bool let message: String? } // MARK: - UserService class UserService { static let shared = UserService() private let networkService = NetworkService.shared private let logger = Logger(subsystem: Bundle.main.bundleIdentifier ?? "com.example.app", category: "UserService") private init() {} func updateUsername(_ username: String, userId: String, completion: @escaping (Result) -> Void) { let parameters: [String: Any] = [ "username": username, "avatar_file_id": userId ] logger.info("🔄 开始更新用户信息: 用户名=\(username), 头像ID=\(userId)") networkService.postWithToken( path: "/iam/user/info", parameters: parameters ) { [weak self] (result: Result) in switch result { case .success(let response): self?.logger.info("✅ 用户信息更新成功: \(response.message ?? "")") case .failure(let error): self?.logger.error("❌ 用户信息更新失败: \(error.localizedDescription)") } completion(result) } } }