feat(*): 画布助手 - 新增 Live2D 配置导入与模型渲染支持

This commit is contained in:
ddCat
2026-09-21 14:11:29 +08:00
parent 4f9e79f67f
commit 4e0b0a9256
40 changed files with 1668 additions and 59 deletions

View File

@@ -16,7 +16,7 @@ export default function StorageResourcesPanel() {
const { message, modal } = App.useApp();
const [searchParams, setSearchParams] = useSearchParams();
const keyword = searchParams.get("filter") || "";
const kind = normalizeOption(searchParams.get("kind"), ["image", "video", "audio", "file"]);
const kind = normalizeOption(searchParams.get("kind"), ["image", "video", "audio", "file", "live2d"]);
const status = normalizeOption(searchParams.get("status"), ["pending", "ready", "failed", "deleted"]);
const provider = normalizeOption(searchParams.get("provider"), ["local", "aliyun", "tencent", "qiniu", "s3"]);
const userId = searchParams.get("userId") || "";
@@ -317,6 +317,7 @@ const kindOptions = [
{ label: "视频", value: "video" },
{ label: "音频", value: "audio" },
{ label: "文件", value: "file" },
{ label: "Live2D 模型", value: "live2d" },
];
const statusOptions = [
{ label: "全部状态", value: "all" },
@@ -349,7 +350,7 @@ function fileName(objectKey: string) {
return objectKey.split("/").filter(Boolean).at(-1) || "";
}
function kindLabel(kind: string) {
return ({ image: "图片", video: "视频", audio: "音频", file: "文件" } as Record<string, string>)[kind] || kind || "未知";
return ({ image: "图片", video: "视频", audio: "音频", file: "文件", live2d: "Live2D" } as Record<string, string>)[kind] || kind || "未知";
}
function statusLabel(status: string) {
return ({ pending: "待处理", ready: "已就绪", failed: "失败", deleted: "已删除" } as Record<string, string>)[status] || status || "未知";