UserInfoService.swift 1.7 KB
//
//  UserInfoService.swift
//  hippo-watch Watch App
//
//  Created by 权海 on 2026/6/22.
//

import Foundation

struct EmptyJson: Codable{
    
}

class UserInfoService {
    private let apiClient = APIClient.shared
    
    func getVipInfo() async -> HVipInfo? {
        do{
            return try await apiClient.request(UserInfoEndpoint.getVipInfo)
        }catch{
            print("getVipInfo error: \(error.localizedDescription)")
            return nil
        }
    }
    
//    func getMyUserInfo() async -> UserInfo?{
//        do{
//            return try await apiClient.request(UserInfoEndpoint.getMyUserInfo)
//        }catch{
//            print("getMyUserInfo error: \(error.localizedDescription)")
//            return nil
//        }
//    }
    
    func getFriendInfo() async -> HAppFriendList? {
        do{
            return try await apiClient.request(UserInfoEndpoint.getFriendInfo)
        }catch{
            print("getFriendInfo error: \(error.localizedDescription)")
            return nil
        }
    }
    
    func uploadDeviceInfo() async -> EmptyJson?{
        do{
            let deviceInfo = AppGroupConstants.defaults?.string(forKey: AppGroupConstants.Key.deviceInfo)
            let deviceToken = AppGroupConstants.defaults?.string(forKey: AppGroupConstants.Key.appDeviceToken)
            let watchToken = AppGroupConstants.defaults?.string(forKey: AppGroupConstants.Key.watchDeviceToken)
            
            return try await apiClient.request(UserInfoEndpoint.uploadDeviceInfo(deviceInfo: deviceInfo, deviceToken: deviceToken, watchDeviceToken: watchToken))
        }catch{
            print("getFriendInfo error: \(error.localizedDescription)")
            return nil
        }
    }
}