diff --git a/src/routes/admin/+page.server.ts b/src/routes/admin/+page.server.ts index 1b1a5fb..bfd8957 100644 --- a/src/routes/admin/+page.server.ts +++ b/src/routes/admin/+page.server.ts @@ -4,18 +4,20 @@ export const load: PageServerLoad = async ({ platform }) => { const db = platform?.env?.DB; let postCount = 0; + let totalWords = 0; let tagCount = 0; let categoryCount = 0; let pageCount = 0; if (db) { try { - const postResult = await db.prepare('SELECT COUNT(*) as count FROM posts').first(); + const postResult = await db.prepare('SELECT COUNT(*) as count, SUM(LENGTH(content)) as totalWords FROM posts').first(); const tagResult = await db.prepare('SELECT COUNT(*) as count FROM tags').first(); const categoryResult = await db.prepare('SELECT COUNT(*) as count FROM categories').first(); const pageResult = await db.prepare('SELECT COUNT(*) as count FROM pages').first(); postCount = (postResult?.count as number) || 0; + totalWords = (postResult?.totalWords as number) || 0; tagCount = (tagResult?.count as number) || 0; categoryCount = (categoryResult?.count as number) || 0; pageCount = (pageResult?.count as number) || 0; @@ -26,6 +28,7 @@ export const load: PageServerLoad = async ({ platform }) => { return { postCount, + totalWords, tagCount, categoryCount, pageCount diff --git a/src/routes/admin/+page.svelte b/src/routes/admin/+page.svelte index 03f1956..cb8f314 100644 --- a/src/routes/admin/+page.svelte +++ b/src/routes/admin/+page.svelte @@ -10,32 +10,50 @@
-

{$page.data.aliases?.post || '文章'}总数

-
{data.postCount}
+
+

{$page.data.aliases?.post || '文章'}总数

+
{data.postCount}
+
管理{$page.data.aliases?.post || '文章'}
+ +
+
+

{$page.data.aliases?.post || '文章'}总字数

+
{(data.totalWords || 0).toLocaleString()}
+
+ + 撰写新{$page.data.aliases?.post || '文章'} + +
-

{$page.data.aliases?.page || '页面'}总数

-
{data.pageCount}
+
+

{$page.data.aliases?.page || '页面'}总数

+
{data.pageCount}
+
管理{$page.data.aliases?.page || '页面'}
-

{$page.data.aliases?.category || '分类'}总数

-
{data.categoryCount}
+
+

{$page.data.aliases?.category || '分类'}总数

+
{data.categoryCount}
+
管理{$page.data.aliases?.category || '分类'}
-

{$page.data.aliases?.tag || '标签'}总数

-
{data.tagCount}
+
+

{$page.data.aliases?.tag || '标签'}总数

+
{data.tagCount}
+
管理{$page.data.aliases?.tag || '标签'} @@ -70,12 +88,21 @@ padding: 24px; text-align: center; transition: border-color 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94); + display: flex; + flex-direction: column; + justify-content: space-between; + align-items: center; } .stat-card:hover { border-color: var(--accent-color, #419b38); } + .stat-body { + width: 100%; + margin-bottom: 20px; + } + .stat-card h3 { margin: 0 0 12px 0; font-size: 1.1rem; @@ -87,7 +114,7 @@ font-size: 3.2rem; font-weight: 700; color: var(--text-color, rgba(0,0,0,0.86)); - margin-bottom: 18px; + margin-bottom: 0; line-height: 1; }