11
This commit is contained in:
@@ -3,6 +3,7 @@ import { ref, onMounted } from "vue";
|
||||
import { storeToRefs } from "pinia";
|
||||
import { useMaterialStore } from "../stores/material.js";
|
||||
import { pickMaterialFiles, localMediaToPlayableUrl } from "../services/materialMedia.js";
|
||||
import { revealLocalFileInFolder } from "../services/fileExport.js";
|
||||
|
||||
const materialStore = useMaterialStore();
|
||||
const { items, loading, uploading } = storeToRefs(materialStore);
|
||||
@@ -79,10 +80,26 @@ async function onUpload() {
|
||||
}
|
||||
}
|
||||
|
||||
async function onOpenInExplorer(item) {
|
||||
if (!item?.path) {
|
||||
showFeedback("error", "文件不存在");
|
||||
return;
|
||||
}
|
||||
try {
|
||||
await revealLocalFileInFolder(item.path);
|
||||
} catch (err) {
|
||||
showFeedback("error", err instanceof Error ? err.message : String(err));
|
||||
}
|
||||
}
|
||||
|
||||
async function onDelete(item) {
|
||||
if (!window.confirm(`确认删除素材「${item.name}」?`)) return;
|
||||
await materialStore.removeItem(item);
|
||||
showFeedback("success", "已删除");
|
||||
try {
|
||||
await materialStore.removeItem(item);
|
||||
showFeedback("success", "已删除");
|
||||
} catch (err) {
|
||||
showFeedback("error", err instanceof Error ? err.message : String(err));
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -219,7 +236,15 @@ async function onDelete(item) {
|
||||
{{ item.path }}
|
||||
</p>
|
||||
|
||||
<div class="flex justify-end">
|
||||
<div class="flex justify-end gap-1">
|
||||
<Button
|
||||
label="打开"
|
||||
size="small"
|
||||
severity="secondary"
|
||||
outlined
|
||||
icon="pi pi-folder-open"
|
||||
@click="onOpenInExplorer(item)"
|
||||
/>
|
||||
<Button
|
||||
label="删除"
|
||||
size="small"
|
||||
|
||||
Reference in New Issue
Block a user