修复任务提交与弹窗交互问题
This commit is contained in:
@ -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 字段的成功接口。
|
||||
|
||||
@ -177,4 +177,14 @@ struct TaskFileItem: Sendable, Equatable, Hashable, Identifiable {
|
||||
return uploadFileName ?? ""
|
||||
}
|
||||
}
|
||||
|
||||
/// 素材来源角标文案。
|
||||
var sourceBadgeText: String {
|
||||
switch source {
|
||||
case .cloud:
|
||||
return "云盘"
|
||||
case .upload:
|
||||
return "本地"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
Reference in New Issue
Block a user