From 0ea75dea1d0e8285e7ae1bc51519436dfbd2e165 Mon Sep 17 00:00:00 2001 From: Nelson <1475262689@qq.com> Date: Thu, 9 Jul 2026 14:58:45 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=9C=8B=E6=9D=BF=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E2=80=94=E2=80=94=E4=B8=AD=E6=96=87=E6=A0=87=E9=A2=98+Token?= =?UTF-8?q?=E6=B6=88=E8=80=97+=E6=97=B6=E9=97=B4=E6=AE=B5=E7=AD=9B?= =?UTF-8?q?=E9=80=89+=E5=93=81=E7=89=8C=E5=90=8D=E7=BB=9F=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 学员端:LoginPanel/App.vue 描述文案优化,去掉生硬表述 - 后台品牌统一:index.html/App.vue 标题改为'大本营千问千答' - 看板tab:Dashboard -> 数据看板 - 看板新增:输入Token、输出Token、总Token 统计 - 看板支持按时间段筛选:后端API增加start/end参数,前端加日期选择器 - stats-grid布局从5列调整为4列,响应式改为2列 --- .../apps/admin-web/index.html | 2 +- .../apps/admin-web/src/App.vue | 31 ++++++++++++++---- .../apps/admin-web/src/services/api.ts | 8 ++++- .../apps/admin-web/src/styles.css | 7 ++-- .../apps/admin-web/src/types/api.ts | 3 ++ .../apps/backend/app/api/admin_dashboard.py | 14 ++++++-- .../apps/backend/app/schemas/admin.py | 3 ++ .../backend/app/services/admin_service.py | 32 ++++++++++++++++--- .../apps/user-client/src/App.vue | 2 +- .../user-client/src/components/LoginPanel.vue | 2 +- 10 files changed, 84 insertions(+), 20 deletions(-) diff --git a/ai_knowledge_base_v2/apps/admin-web/index.html b/ai_knowledge_base_v2/apps/admin-web/index.html index 36ccf30..a2db536 100644 --- a/ai_knowledge_base_v2/apps/admin-web/index.html +++ b/ai_knowledge_base_v2/apps/admin-web/index.html @@ -3,7 +3,7 @@ - 大本营答疑助手后台 + 大本营千问千答
diff --git a/ai_knowledge_base_v2/apps/admin-web/src/App.vue b/ai_knowledge_base_v2/apps/admin-web/src/App.vue index c4935ba..310309a 100644 --- a/ai_knowledge_base_v2/apps/admin-web/src/App.vue +++ b/ai_knowledge_base_v2/apps/admin-web/src/App.vue @@ -23,6 +23,7 @@ const loading = ref(false); const loginForm = reactive({ username: "admin", password: "admin123456" }); const stats = ref(null); +const dashboardDateRange = ref<[string, string] | null>(null); const users = ref([]); const userKeyword = ref(""); const knowledge = ref([]); @@ -502,10 +503,15 @@ async function switchMenu(menu: string) { await loadCurrentMenu(); } +async function loadDashboard() { + const [start, end] = dashboardDateRange.value ?? ["", ""]; + stats.value = await api.dashboard(start, end); +} + async function loadCurrentMenu() { loading.value = true; try { - if (activeMenu.value === "dashboard") stats.value = await api.dashboard(); + if (activeMenu.value === "dashboard") await loadDashboard(); if (activeMenu.value === "users") users.value = await api.users(userKeyword.value); if (activeMenu.value === "knowledge") knowledge.value = await api.knowledge(); if (activeMenu.value === "prompt") { @@ -1036,7 +1042,7 @@ function buildChatQuery() {