From f40b49c654abe4686964ae13da43980f5c6f18b3 Mon Sep 17 00:00:00 2001 From: seaHi Date: Sat, 8 Aug 2026 10:02:15 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E4=BB=8E=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E7=95=8C=E9=9D=A2=E5=8F=8A=E5=90=8E=E7=AB=AF=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E4=B8=AD=E7=A7=BB=E9=99=A4=E7=B3=BB=E5=88=97=E6=8F=8F=E8=BF=B0?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/routes/admin/series/+page.server.ts | 17 ++++++----------- src/routes/admin/series/+page.svelte | 14 -------------- src/routes/posts/[slug]/+page.server.ts | 7 ++----- src/routes/series/+page.server.ts | 5 ++--- src/routes/series/+page.svelte | 1 - src/routes/series/[slug]/+page.server.ts | 4 ++-- src/routes/series/[slug]/+page.svelte | 2 +- 7 files changed, 13 insertions(+), 37 deletions(-) diff --git a/src/routes/admin/series/+page.server.ts b/src/routes/admin/series/+page.server.ts index 7db5478..5406ede 100644 --- a/src/routes/admin/series/+page.server.ts +++ b/src/routes/admin/series/+page.server.ts @@ -23,10 +23,10 @@ export const load: PageServerLoad = async ({ platform }) => { try { const { results } = await db .prepare( - `SELECT s.id, s.name, s.slug, s.description, COUNT(p.id) AS post_count + `SELECT s.id, s.name, s.slug, COUNT(p.id) AS post_count FROM series s LEFT JOIN posts p ON p.series_id = s.id - GROUP BY s.id, s.name, s.slug, s.description + GROUP BY s.id, s.name, s.slug ORDER BY s.name COLLATE NOCASE ASC` ) .all(); @@ -36,7 +36,6 @@ export const load: PageServerLoad = async ({ platform }) => { id: number; name: string; slug: string; - description: string | null; post_count: number; }> }; @@ -54,16 +53,13 @@ export const actions: Actions = { const formData = await request.formData(); const name = formData.get('name')?.toString().trim() || ''; const slug = makeSlug(formData.get('slug')?.toString() || name); - const description = formData.get('description')?.toString().trim() || null; if (!name || !slug) return fail(400, { error: '系列名称和 URL 别名不能为空' }); try { const created = await db - .prepare( - 'INSERT INTO series (name, slug, description) VALUES (?, ?, ?) RETURNING id, name, slug, description' - ) - .bind(name, slug, description) + .prepare('INSERT INTO series (name, slug) VALUES (?, ?) RETURNING id, name, slug') + .bind(name, slug) .first(); return { success: true, series: created }; } catch (err: unknown) { @@ -83,7 +79,6 @@ export const actions: Actions = { const id = Number(formData.get('id')); const name = formData.get('name')?.toString().trim() || ''; const slug = makeSlug(formData.get('slug')?.toString() || ''); - const description = formData.get('description')?.toString().trim() || null; if (!Number.isInteger(id) || id <= 0 || !name || !slug) { return fail(400, { error: '系列信息不完整' }); @@ -91,8 +86,8 @@ export const actions: Actions = { try { await db - .prepare('UPDATE series SET name = ?, slug = ?, description = ? WHERE id = ?') - .bind(name, slug, description, id) + .prepare('UPDATE series SET name = ?, slug = ? WHERE id = ?') + .bind(name, slug, id) .run(); return { success: true }; } catch (err: unknown) { diff --git a/src/routes/admin/series/+page.svelte b/src/routes/admin/series/+page.svelte index a4c738d..9771098 100644 --- a/src/routes/admin/series/+page.svelte +++ b/src/routes/admin/series/+page.svelte @@ -68,14 +68,6 @@ oninput={handleSlugInput} required /> - - - - @@ -102,12 +94,6 @@ - - { c.name as category_name, c.slug as category_slug, u.username as author, s.id as series_id, s.name as series_name, s.slug as series_slug, - s.description as series_description, p.series_weight + p.series_weight FROM posts p LEFT JOIN categories c ON p.category_id = c.id LEFT JOIN users u ON p.author_id = u.id @@ -100,7 +99,6 @@ export const load: PageServerLoad = async ({ platform, params }) => { id: number; name: string; slug: string; - description: string | null; } | null = null; let seriesPosts: Array<{ id: number; @@ -113,8 +111,7 @@ export const load: PageServerLoad = async ({ platform, params }) => { series = { id: post.series_id, name: post.series_name, - slug: post.series_slug, - description: post.series_description + slug: post.series_slug }; const seriesQuery = await db .prepare( diff --git a/src/routes/series/+page.server.ts b/src/routes/series/+page.server.ts index dc4b24b..825ac12 100644 --- a/src/routes/series/+page.server.ts +++ b/src/routes/series/+page.server.ts @@ -9,10 +9,10 @@ export const load: PageServerLoad = async ({ platform }) => { try { const { results } = await db .prepare( - `SELECT s.id, s.name, s.slug, s.description, COUNT(p.id) AS post_count + `SELECT s.id, s.name, s.slug, COUNT(p.id) AS post_count FROM series s LEFT JOIN posts p ON p.series_id = s.id - GROUP BY s.id, s.name, s.slug, s.description + GROUP BY s.id, s.name, s.slug ORDER BY s.name COLLATE NOCASE ASC` ) .all(); @@ -21,7 +21,6 @@ export const load: PageServerLoad = async ({ platform }) => { id: number; name: string; slug: string; - description: string | null; post_count: number; }> }; diff --git a/src/routes/series/+page.svelte b/src/routes/series/+page.svelte index 98c8d0d..68190c5 100644 --- a/src/routes/series/+page.svelte +++ b/src/routes/series/+page.svelte @@ -22,7 +22,6 @@ {#each data.series as item (item.id)}

{item.name}

- {#if item.description}

{item.description}

{/if} {item.post_count} 篇文章
{:else} diff --git a/src/routes/series/[slug]/+page.server.ts b/src/routes/series/[slug]/+page.server.ts index 6ad4bc1..28783c3 100644 --- a/src/routes/series/[slug]/+page.server.ts +++ b/src/routes/series/[slug]/+page.server.ts @@ -6,9 +6,9 @@ export const load: PageServerLoad = async ({ platform, params }) => { if (!db) throw error(500, '数据库未连接'); try { const series = await db - .prepare('SELECT id, name, slug, description FROM series WHERE slug = ?') + .prepare('SELECT id, name, slug FROM series WHERE slug = ?') .bind(params.slug) - .first<{ id: number; name: string; slug: string; description: string | null }>(); + .first<{ id: number; name: string; slug: string }>(); if (!series) throw error(404, '系列不存在'); const { results } = await db .prepare( diff --git a/src/routes/series/[slug]/+page.svelte b/src/routes/series/[slug]/+page.svelte index 7542f60..222c496 100644 --- a/src/routes/series/[slug]/+page.svelte +++ b/src/routes/series/[slug]/+page.svelte @@ -18,7 +18,7 @@