Files
tvbox-Swift/tvbox/Models/MovieSort.swift
T
2026-03-01 22:23:38 +08:00

49 lines
1.6 KiB
Swift

import Foundation
/// 分类排序模型 - 对应 Android 版 MovieSort.java
struct MovieSort: Codable {
/// 分类列表(包含首页推荐、影视分类等)。
var sortList: [SortData] = []
/// 单个分类数据
struct SortData: Codable, Identifiable, Hashable {
/// 分类唯一标识(接口字段通常为 type_id)。
var id: String
/// 分类显示名。
var name: String = ""
/// 标记位(不同源可定义不同语义,常用于首页/推荐标识)。
var flag: String = ""
/// 分类下可选筛选项(年份、地区、类型等)。
var filters: [SortFilter] = []
init(id: String = "", name: String = "", flag: String = "") {
self.id = id
self.name = name
self.flag = flag
}
/// 生成首页推荐占位分类。
/// 该分类不走常规分类接口,直接渲染首页推荐列表。
static func home() -> SortData {
SortData(id: "home", name: "推荐", flag: "1")
}
}
/// 筛选条件
struct SortFilter: Codable, Hashable {
/// 接口参数键,例如 `year`、`area`。
var key: String = ""
/// UI 展示名称。
var name: String = ""
/// 可选值集合。
var values: [SortFilterValue] = []
struct SortFilterValue: Codable, Hashable {
/// 展示名。
var n: String = ""
/// 真实参数值。
var v: String = ""
}
}
}