修复任务提交与弹窗交互问题

This commit is contained in:
2026-07-10 14:51:34 +08:00
parent df547a16dc
commit f88a85a807
48 changed files with 1065 additions and 254 deletions

View File

@ -61,20 +61,6 @@ final class TaskAPI {
)
}
/// OSS URL
func registerUploadedFileURL(scenicId: Int, fileURL: String, folderId: Int = 0) async throws {
let _: EmptyResponse = try await client.send(
APIRequest(
method: .post,
path: "/api/yf-handset-app/photog/album/file-upload-url",
queryItems: [
URLQueryItem(name: "scenic_id", value: String(scenicId)),
URLQueryItem(name: "file_url", value: fileURL),
URLQueryItem(name: "folder_id", value: String(folderId)),
]
)
)
}
}
/// data

View File

@ -177,4 +177,14 @@ struct TaskFileItem: Sendable, Equatable, Hashable, Identifiable {
return uploadFileName ?? ""
}
}
///
var sourceBadgeText: String {
switch source {
case .cloud:
return "云盘"
case .upload:
return "本地"
}
}
}

View File

@ -25,9 +25,13 @@ final class CloudStoragePickForTaskViewModel {
private var totalCount = 0
private let pageSize = 20
private let importedFileIDs: Set<Int>
private let allowedFileType: Int?
init(importedFileIDs: Set<Int> = []) {
/// ViewModel
init(importedFileIDs: Set<Int> = [], allowedFileType: Int? = nil) {
self.importedFileIDs = importedFileIDs
self.allowedFileType = allowedFileType
self.filterType = allowedFileType ?? 0
}
/// ID
@ -94,6 +98,10 @@ final class CloudStoragePickForTaskViewModel {
return
}
guard file.isSelectableMedia else { return }
if let allowedFileType, file.type != allowedFileType {
onShowMessage?(allowedFileType == 1 ? "请选择视频素材" : "请选择图片素材")
return
}
if isImported(file.id) {
onShowMessage?("已选择")
return