11
This commit is contained in:
@@ -4,6 +4,7 @@ import { storeToRefs } from "pinia";
|
||||
import { useAvatarStore } from "../stores/avatar.js";
|
||||
import AvatarEditDialog from "../components/avatar/AvatarEditDialog.vue";
|
||||
import { localVideoToPlayableUrl } from "../services/localVideo.js";
|
||||
import { revealLocalFileInFolder } from "../services/fileExport.js";
|
||||
|
||||
const avatarStore = useAvatarStore();
|
||||
const { templates, loading } = storeToRefs(avatarStore);
|
||||
@@ -58,10 +59,26 @@ async function commitRename(item) {
|
||||
cancelRename();
|
||||
}
|
||||
|
||||
async function onOpenInExplorer(item) {
|
||||
if (!item?.filePath) {
|
||||
showFeedback("error", "文件不存在");
|
||||
return;
|
||||
}
|
||||
try {
|
||||
await revealLocalFileInFolder(item.filePath);
|
||||
} catch (err) {
|
||||
showFeedback("error", err instanceof Error ? err.message : String(err));
|
||||
}
|
||||
}
|
||||
|
||||
async function onDelete(item) {
|
||||
if (!window.confirm(`确认删除形象「${item.name}」?`)) return;
|
||||
await avatarStore.removeTemplate(item);
|
||||
showFeedback("success", "已删除");
|
||||
try {
|
||||
await avatarStore.removeTemplate(item);
|
||||
showFeedback("success", "已删除");
|
||||
} catch (err) {
|
||||
showFeedback("error", err instanceof Error ? err.message : String(err));
|
||||
}
|
||||
}
|
||||
|
||||
function onSaved() {
|
||||
@@ -77,14 +94,14 @@ function onSaved() {
|
||||
<p class="mt-1 text-sm text-slate-500">管理多个数字人形象</p>
|
||||
</div>
|
||||
<div class="flex flex-wrap gap-2">
|
||||
<Button
|
||||
<!-- <Button
|
||||
label="云端形象"
|
||||
size="small"
|
||||
severity="secondary"
|
||||
outlined
|
||||
icon="pi pi-cloud"
|
||||
@click="onCloud"
|
||||
/>
|
||||
/> -->
|
||||
<Button label="添加" size="small" icon="pi pi-plus" @click="onAdd" />
|
||||
</div>
|
||||
</div>
|
||||
@@ -158,14 +175,24 @@ function onSaved() {
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<Button
|
||||
icon="pi pi-trash"
|
||||
size="small"
|
||||
severity="danger"
|
||||
text
|
||||
aria-label="删除"
|
||||
@click="onDelete(item)"
|
||||
/>
|
||||
<div class="flex shrink-0 gap-1">
|
||||
<Button
|
||||
label="打开"
|
||||
icon="pi pi-folder-open"
|
||||
size="small"
|
||||
severity="secondary"
|
||||
outlined
|
||||
@click="onOpenInExplorer(item)"
|
||||
/>
|
||||
<Button
|
||||
icon="pi pi-trash"
|
||||
size="small"
|
||||
severity="danger"
|
||||
text
|
||||
aria-label="删除"
|
||||
@click="onDelete(item)"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="overflow-hidden rounded-lg bg-black p-1">
|
||||
<video
|
||||
|
||||
Reference in New Issue
Block a user