feat: 上传

This commit is contained in:
overtrue
2024-12-22 16:18:50 +08:00
parent e1e52dbfac
commit f975d9ea63
13 changed files with 525 additions and 10 deletions
+31
View File
@@ -0,0 +1,31 @@
import { defineStore } from 'pinia'
import UploadTaskManager from '~/lib/upload-task-manager'
export const useUploadTaskManagerStore = defineStore('uploadTaskManager', {
state: () => ({
taskManager: new UploadTaskManager(useNuxtApp().$s3Client, {
chunkSize: 5,
maxConcurrentUploads: 6
})
}),
getters: {
tasks: (state) => state.taskManager.getTasks()
},
actions: {
addFiles(files: File[], bucketName: string, prefix?: string) {
this.taskManager.addFiles(files, bucketName, prefix)
this.taskManager.start()
},
getTasks() {
return this.taskManager.getTasks()
},
removeTask(taskId: string) {
this.taskManager.removeTask(taskId)
},
clearTasks() {
this.taskManager.clearTasks()
}
}
})