MoviaBox/Thimra/Base/Networking/API/SPHomeAPI.swift
2025-04-22 17:30:04 +08:00

89 lines
2.7 KiB
Swift

//
// SPHomeAPI.swift
// Thimra
//
// Created by on 2025/4/8.
//
import UIKit
class SPHomeAPI: NSObject {
///
static func requestRecommandsTV(page: Int, completer: ((_ listModel: SPListModel<SPShortModel>?) -> Void)?) {
var param = SPNetworkParameters(path: "/getRecommands")
param.method = .get
param.parameters = [
"page_size" : 20,
"current_page" : page
]
SPNetwork.request(parameters: param) { (response: SPNetworkResponse<SPListModel<SPShortModel>>) in
completer?(response.data)
}
}
///
static func requestHomeTopData(completer: ((_ model: SPHomeTopModel?) -> Void)?) {
let param = SPNetworkParameters(path: "/homeTop")
// param.method = .get
SPNetwork.request(parameters: param) { (response: SPNetworkResponse<SPHomeTopModel>) in
completer?(response.data)
}
}
///
static func requestHomeModuleData(completer: ((_ model: SPHomeModuleModel?) -> Void)?) {
let param = SPNetworkParameters(path: "/homeBannerAndNineSquare")
// param.method = .get
SPNetwork.request(parameters: param) { (response: SPNetworkResponse<SPHomeModuleModel>) in
completer?(response.data)
}
}
///
static func requestHomeList(page: Int , completer: ((_ listModel: SPListModel<SPShortModel>?) -> Void)?) {
var param = SPNetworkParameters(path: "/newShortPlay")
param.parameters = [
"page_size" : 20,
"current_page" : page
]
SPNetwork.request(parameters: param) { (response: SPNetworkResponse<SPListModel<SPShortModel>>) in
completer?(response.data)
}
}
///
static func requestSearch(text: String, completer: ((_ list: [SPShortModel]?) -> Void)?) {
var param = SPNetworkParameters(path: "/search")
param.method = .get
param.parameters = [
"search" : text
]
SPNetwork.request(parameters: param) { (response: SPNetworkResponse<SPListModel<SPShortModel>>) in
completer?(response.data?.list)
}
}
///
static func requestHotSearchList(completer: ((_ list: [SPShortModel]?) -> Void)?) {
var param = SPNetworkParameters(path: "/search/hots")
param.method = .get
SPNetwork.request(parameters: param) { (response: SPNetworkResponse<SPListModel<SPShortModel>>) in
completer?(response.data?.list)
}
}
}