114 lines
2.9 KiB
Swift
114 lines
2.9 KiB
Swift
//
|
|
// SPHomeViewModel.swift
|
|
// MoviaBox
|
|
//
|
|
// Created by Overseas on 2025/4/22.
|
|
//
|
|
|
|
import UIKit
|
|
|
|
class SPHomeViewModel: NSObject {
|
|
|
|
lazy var page = 1
|
|
lazy var dataArr: [SPShortModel] = []
|
|
|
|
///模版数据
|
|
var moduleModel: SPHomeModuleModel? {
|
|
didSet {
|
|
updateContentArr()
|
|
}
|
|
}
|
|
|
|
///分类数据
|
|
///甜宠
|
|
var categoryDataArr1: [SPShortModel] = [] {
|
|
didSet {
|
|
updateContentArr()
|
|
}
|
|
}
|
|
///虐恋
|
|
var categoryDataArr2: [SPShortModel] = [] {
|
|
didSet {
|
|
updateContentArr()
|
|
}
|
|
}
|
|
|
|
///历史记录
|
|
var playHistoryArr: [SPShortModel]? {
|
|
didSet {
|
|
updateContentArr()
|
|
}
|
|
}
|
|
|
|
|
|
private(set) lazy var contentArr: [SPHomeContentModel] = []
|
|
|
|
|
|
private func updateContentArr() {
|
|
contentArr.removeAll()
|
|
|
|
if let list = moduleModel?.bannerData, list.count > 0 {
|
|
let model = SPHomeContentModel()
|
|
model.key = .banner
|
|
model.list = list
|
|
contentArr.append(model)
|
|
}
|
|
|
|
if let list = playHistoryArr, list.count > 0 {
|
|
let model = SPHomeContentModel()
|
|
model.key = .history
|
|
model.list = list
|
|
if contentArr.count > 0 {
|
|
model.contentTop = 25
|
|
}
|
|
contentArr.append(model)
|
|
}
|
|
|
|
if let list = moduleModel?.nineSquare?.list, list.count > 0 {
|
|
let model = SPHomeContentModel()
|
|
model.key = .nineSquare
|
|
model.title = moduleModel?.nineSquare?.title
|
|
model.list = list
|
|
if contentArr.count > 0 {
|
|
model.contentTop = 25
|
|
}
|
|
contentArr.append(model)
|
|
}
|
|
|
|
if categoryDataArr1.count > 0 {
|
|
let model = SPHomeContentModel()
|
|
model.key = .category1
|
|
model.list = categoryDataArr1
|
|
if contentArr.count > 0 {
|
|
model.contentTop = 25
|
|
}
|
|
contentArr.append(model)
|
|
}
|
|
|
|
if let list = moduleModel?.hotData, list.count > 0 {
|
|
let model = SPHomeContentModel()
|
|
model.key = .hot
|
|
model.list = list
|
|
if contentArr.count > 0 {
|
|
model.contentTop = 25
|
|
}
|
|
contentArr.append(model)
|
|
}
|
|
|
|
// if categoryDataArr2.count > 0 {
|
|
// let model = SPHomeContentModel()
|
|
// model.key = .category1
|
|
// model.list = categoryDataArr2
|
|
// contentArr.append(model)
|
|
// }
|
|
}
|
|
|
|
var isEmptyData: Bool {
|
|
if dataArr.count > 0 || (playHistoryArr?.count ?? 0) > 0 || moduleModel != nil || categoryDataArr1.count > 0 || categoryDataArr2.count > 0 {
|
|
return false
|
|
}
|
|
return true
|
|
}
|
|
|
|
}
|