// // LNHttpManager+Gift.swift // Gami // // Created by OneeChan on 2026/3/24. // import Foundation private let kNetPath_Gift_Resource_List = "/gift/resource/list" private let kNetPath_Gift_List = "/list/gift/list" private let kNetPath_Gift_Send = "/list/gift/send" class LNSendGiftParams { var roomId: String = "" var giftId: String = "" var userIds: [String] = [] var quantity: Int = 0 var seamlessRedeem: Bool = false fileprivate var toParams: [String: Any] { [ "roomId": roomId, "giftId": giftId, "userIds": userIds, "quantity": quantity, "seamlessRedeem": seamlessRedeem ] } } extension LNHttpManager { func loadResourceList(version: String, size: Int, next: String, completion: @escaping (LNGiftResourceListResponse?, LNHttpError?) -> Void) { post(path: kNetPath_Gift_Resource_List, params: [ "page": [ "size": size, "next": next ], "version": version ], completion: completion) } func loadGiftList(roomId: String, completion: @escaping (LNGiftListResponse?, LNHttpError?) -> Void) { post(path: kNetPath_Gift_List, params: [ "roomId": roomId, ], completion: completion) } func sendGift(params: LNSendGiftParams, completion: @escaping (LNSendGiftResponse?, LNHttpError?) -> Void) { post(path: kNetPath_Gift_Send, params: params.toParams, completion: completion) } }