增加注解

This commit is contained in:
JinJiangHuang
2026-03-01 22:23:38 +08:00
parent 99a8cc799b
commit ee8c71dcd4
23 changed files with 374 additions and 24 deletions
+14 -1
View File
@@ -4,15 +4,24 @@ import SwiftUI
/// ViewModel
@MainActor
class HomeViewModel: ObservableObject {
///
@Published var sorts: [MovieSort.SortData] = []
///
@Published var selectedSort: MovieSort.SortData?
///
@Published var homeVideos: [Movie.Video] = []
///
@Published var categoryVideos: [Movie.Video] = []
///
@Published var isLoading = false
///
@Published var currentPage = 1
///
@Published var hasMore = true
///
@Published var errorMessage: String?
/// 访
private let sourceService = SourceService.shared
///
@@ -24,7 +33,7 @@ class HomeViewModel: ObservableObject {
do {
let result = try await sourceService.getSort(sourceBean: source)
// ""
// UI Android
var allSorts = [MovieSort.SortData.home()]
allSorts.append(contentsOf: result.sorts)
@@ -43,6 +52,7 @@ class HomeViewModel: ObservableObject {
///
func selectSort(_ sort: MovieSort.SortData) {
//
selectedSort = sort
errorMessage = nil
categoryVideos = []
@@ -62,6 +72,7 @@ class HomeViewModel: ObservableObject {
private func loadCategoryVideos(page: Int, sort: MovieSort.SortData) async {
guard sort.id != "home" else { return }
guard let source = ApiConfig.shared.homeSourceBean else { return }
//
guard !isLoading else { return }
isLoading = true
@@ -78,6 +89,7 @@ class HomeViewModel: ObservableObject {
} else {
categoryVideos.append(contentsOf: videos)
}
//
currentPage = page
hasMore = !videos.isEmpty
} catch {
@@ -105,6 +117,7 @@ class HomeViewModel: ObservableObject {
///
func refresh() async {
//
currentPage = 1
hasMore = true
categoryVideos = []