From a1fdf37ef953b0fe2be4c9287ed39bd59ba2d0e1 Mon Sep 17 00:00:00 2001 From: Vixalie Date: Fri, 27 Mar 2026 16:17:56 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E9=9B=86=E5=8A=A0=E8=BD=BD=E5=8A=9F=E8=83=BD=EF=BC=8C=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E9=80=89=E6=8B=A9=E6=95=B0=E6=8D=AE=E9=9B=86=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=A4=B9=E5=B9=B6=E9=AA=8C=E8=AF=81meta.json=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lib/types/meta.ts | 22 ++++++++++++ src/routes/boot/+page.svelte | 64 ++++++++++++++++++++++++++++++++-- src/routes/create/+page.svelte | 1 - 3 files changed, 84 insertions(+), 3 deletions(-) diff --git a/src/lib/types/meta.ts b/src/lib/types/meta.ts index 83cbb78..83b9489 100644 --- a/src/lib/types/meta.ts +++ b/src/lib/types/meta.ts @@ -34,3 +34,25 @@ export type ImageMeta = { sentences: DescribeSentence[]; selectedSentences: string[]; } + +export function isDatasetMeta(value: unknown): value is DatasetMeta { + if (typeof value !== 'object' || value === null) { + return false; + } + + const candidate = value as Partial; + + return ( + typeof candidate.name === 'string' && + typeof candidate.targetModel === 'string' && + typeof candidate.loraType === 'string' && + typeof candidate.unifiedImageSize === 'boolean' && + typeof candidate.unifiedImageRatio === 'boolean' && + Array.isArray(candidate.imageSize) && + candidate.imageSize.length === 2 && + typeof candidate.imageSize[0] === 'number' && + typeof candidate.imageSize[1] === 'number' && + Array.isArray(candidate.triggerWords) && + candidate.triggerWords.every((word) => typeof word === 'string') + ); +} diff --git a/src/routes/boot/+page.svelte b/src/routes/boot/+page.svelte index 522a08c..060130c 100644 --- a/src/routes/boot/+page.svelte +++ b/src/routes/boot/+page.svelte @@ -1,12 +1,72 @@
@@ -15,7 +75,7 @@ afterNavigate(() => { New Dataset - diff --git a/src/routes/create/+page.svelte b/src/routes/create/+page.svelte index 7a5b879..4ef955d 100644 --- a/src/routes/create/+page.svelte +++ b/src/routes/create/+page.svelte @@ -66,7 +66,6 @@ async function createDataset() { const metaPath = await join(storePath, 'meta.json'); await writeTextFile(metaPath, JSON.stringify(datasetMeta, null, 2)); - localStorage.setItem('#sym:openedDatasetDir', storePath); openedDatasetDir.set(storePath); await goto('/dataset');