ThimraTV/MoviaBox/Base/Networking/API/SPWalletAPI.swift

105 lines
3.6 KiB
Swift

//
// SPWalletAPI.swift
// MoviaBox
//
// Created by on 2025/4/28.
//
import UIKit
class SPWalletAPI: NSObject {
enum BuyType: String {
case coins = "coins"
case vip = "vip"
}
///
static func requestPayTemplate(completer: ((_ model: SPPayTemplateModel?) -> Void)?) {
var param = SPNetworkParameters(path: "/paySettingsV3")
param.method = .get
SPNetwork.request(parameters: param) { (response: SPNetworkResponse<SPPayTemplateModel>) in
completer?(response.data)
}
}
///
static func requestCreateOrder(payId: String, shortPlayId: String = "0", videoId: String = "0", completer: ((_ orderModel: SPIAPOrderModel?) -> Void)?) {
var param = SPNetworkParameters(path: "/createOrder")
param.parameters = [
"payment_channel" : "apple",
"short_play_id" : shortPlayId,
"video_id" : videoId,
"pay_setting_id" : payId
]
SPNetwork.request(parameters: param) { (response: SPNetworkResponse<SPIAPOrderModel>) in
if let message = response.data?.message, message.count > 0 {
SPToast.show(text: message)
completer?(nil)
} else {
completer?(response.data)
}
}
}
///
static func requestVerifyOrder(orderCode: String, payId: String, productId: String, purchaseToken: String, completer: ((_ model: SPIAPVerifyModel?) -> Void)?) {
var param = SPNetworkParameters(path: "/applePaid")
param.parameters = [
"order_code" : orderCode,
"pay_setting_id" : payId,
"pkg_name" : kSPAPPBundleIdentifier,
"transaction_id" : productId,
"purchases_token" : purchaseToken
]
SPNetwork.request(parameters: param) { (response: SPNetworkResponse<SPIAPVerifyModel>) in
completer?(response.data)
}
}
///
static func reuqestSendCoinRecord(page: Int, completer: ((_ listModel: SPListModel<SPRewardCoinsRecordModel>?) -> Void)?) {
var param = SPNetworkParameters(path: "/sendCoinList")
param.parameters = [
"page_size" : 20,
"current_page" : page
]
SPNetwork.request(parameters: param) { (response: SPNetworkResponse<SPListModel<SPRewardCoinsRecordModel>>) in
completer?(response.data)
}
}
///
static func requestRechargeRecord(buyType: BuyType, page: Int, completer: ((_ listModel: SPListModel<SPRechargeRecordModel>?) -> Void)?) {
var param = SPNetworkParameters(path: "/getCustomerOrder")
param.method = .get
param.parameters = [
"page_size" : 20,
"current_page" : page,
"buy_type" : buyType.rawValue
]
SPNetwork.request(parameters: param) { (response: SPNetworkResponse<SPListModel<SPRechargeRecordModel>>) in
completer?(response.data)
}
}
///
static func requestBuyRecords(page: Int, completer: ((_ listModel: SPListModel<SPBuyRecordsModel>?) -> Void)?) {
var param = SPNetworkParameters(path: "/getCustomerBuyRecords")
param.method = .get
param.parameters = [
"page_size" : 20,
"current_page" : page,
]
SPNetwork.request(parameters: param) { (response: SPNetworkResponse<SPListModel<SPBuyRecordsModel>>) in
completer?(response.data)
}
}
}