From de821a86457f3870ea63c7d555c171ac1158e19f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E7=90=A6?= Date: Fri, 16 Jan 2026 10:19:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=88=E4=BD=9C=E9=A1=B5=E9=9D=A2=E7=9A=84?= =?UTF-8?q?=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/src/components/admin/AdminLayout.vue | 7 +- .../src/components/ui/EmailAutocomplete.vue | 2 +- .../src/pages/admin/dashboard/Analytics.vue | 385 ++++++++++++++++++ client/src/pages/admin/dashboard/Overview.vue | 229 +++-------- client/src/router.ts | 1 + client/src/services/api.ts | 13 +- server/handlers/dashboard.go | 69 +++- server/handlers/post.go | 27 ++ server/main.go | 4 +- server/middleware/cors.go | 31 ++ server/models/user_access_log.go | 13 + server/nl_blog.sql | 122 +++++- server/repositories/log_repository.go | 71 +++- server/repositories/post_repository.go | 63 ++- .../user_access_log_repository.go | 108 +++++ server/scripts/create_table.go | 51 +++ server/utils/ip.go | 4 +- server/utils/response.go | 55 +++ 18 files changed, 1018 insertions(+), 237 deletions(-) create mode 100644 client/src/pages/admin/dashboard/Analytics.vue create mode 100644 server/middleware/cors.go create mode 100644 server/models/user_access_log.go create mode 100644 server/repositories/user_access_log_repository.go create mode 100644 server/scripts/create_table.go create mode 100644 server/utils/response.go diff --git a/client/src/components/admin/AdminLayout.vue b/client/src/components/admin/AdminLayout.vue index 3b0db5a..d8da94b 100644 --- a/client/src/components/admin/AdminLayout.vue +++ b/client/src/components/admin/AdminLayout.vue @@ -141,6 +141,11 @@ const menuItems = ref([ icon: '📊', path: '/admin/dashboard' }, + { + title: '数据分析', + icon: '📈', + path: '/admin/analytics' + }, { title: '内容管理', icon: '📚', @@ -269,7 +274,7 @@ onUnmounted(() => { border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 0.5rem; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3); - z-index: 100; + z-index: 9999; overflow: hidden; animation: slideIn 0.2s ease-out; } diff --git a/client/src/components/ui/EmailAutocomplete.vue b/client/src/components/ui/EmailAutocomplete.vue index 96a8416..0cf8e81 100644 --- a/client/src/components/ui/EmailAutocomplete.vue +++ b/client/src/components/ui/EmailAutocomplete.vue @@ -17,7 +17,7 @@ >{{ label }} -
+
+
+ + +
+ {{ dateError }} +
+ + +
+ +
+

新增博文趋势

+
+ +
+
+ 加载中... +
+
+ 暂无数据 +
+
+ + +
+

访客趋势 (UV)

+
+ +
+
+ 加载中... +
+
+ 暂无数据 +
+
+
+ + +
+ +
+

用户地域分布

+
+ +
+
+ 加载中... +
+
+ 暂无数据 +
+
+ + +
+

热门文章 Top 5

+
+ +
+
+ 加载中... +
+
+ 暂无数据 +
+
+
+
+ + + + + diff --git a/client/src/pages/admin/dashboard/Overview.vue b/client/src/pages/admin/dashboard/Overview.vue index 4b4b409..3349d95 100644 --- a/client/src/pages/admin/dashboard/Overview.vue +++ b/client/src/pages/admin/dashboard/Overview.vue @@ -13,7 +13,6 @@
👥

今日访客 (UV)

-

{{ todayUV }}

@@ -28,46 +27,52 @@
🎨

作品展示

- -

-

+

{{ stats.works || '-' }}

- -
- -
-

近7天新增博文

-
- -
-
- - -
-

近7天访客趋势

-
- -
-
-
- -
- -
-

用户地域分布

-
- + +
+

最近日志

+
+
+
+ {{ log.method }} +
+
+
+ {{ log.username }} + {{ formatDate(log.createdAt) }} +
+

{{ log.path }}

+
+
+
暂无日志
- -
-

热门文章 Top 5

-
- + +
+

博文动态

+
+
+
+ 📝 +
+
+
+ {{ post.title }} + {{ formatDate(post.date) }} +
+
+ {{ post.category }} + 👁️ {{ post.readCount || 0 }} +
+
+
+
暂无动态
@@ -76,132 +81,38 @@