feat(admin): Implement operational monitoring MVP and login optimization
Summary: - Add SimpleLog table for activity tracking (admin_schema) - Implement ActivityService with fire-and-forget pattern - Add stats API endpoints (overview/live-feed/user-overview/cleanup) - Complete activity logging for 7 modules (SYSTEM/AIA/PKB/ASL/DC/RVW/IIT) - Update Admin Dashboard with DAU/DAT metrics and live feed - Fix user module permission display logic - Fix login redirect to /ai-qa instead of homepage - Replace top navigation LOGO with brand image - Fix PKB workspace layout CSS conflict (rename to .pa-chat-container) New files: - backend/src/common/services/activity.service.ts - backend/src/modules/admin/controllers/statsController.ts - backend/src/modules/admin/routes/statsRoutes.ts - frontend-v2/src/modules/admin/api/statsApi.ts - docs/03-.../04-operational-monitoring-mvp-plan.md - docs/03-.../04-operational-monitoring-mvp-implementation.md Tested: All features verified locally
This commit is contained in:
@@ -411,8 +411,8 @@
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* 聊天容器 */
|
||||
.chat-container {
|
||||
/* 聊天容器 - 使用 pa- 前缀避免与共享组件 ChatContainer 冲突 */
|
||||
.pa-chat-container {
|
||||
flex: 1;
|
||||
min-height: 0; /* 关键:允许 flex 子元素收缩 */
|
||||
overflow-y: auto;
|
||||
@@ -1838,7 +1838,7 @@
|
||||
/* ============================================ */
|
||||
/* 滚动条美化 - 始终可见 */
|
||||
/* ============================================ */
|
||||
.chat-container,
|
||||
.pa-chat-container,
|
||||
.panel-body,
|
||||
.conversations-list,
|
||||
.document-scroll-area {
|
||||
@@ -1846,14 +1846,14 @@
|
||||
scrollbar-color: #94A3B8 #F1F5F9;
|
||||
}
|
||||
|
||||
.chat-container::-webkit-scrollbar,
|
||||
.pa-chat-container::-webkit-scrollbar,
|
||||
.panel-body::-webkit-scrollbar,
|
||||
.conversations-list::-webkit-scrollbar,
|
||||
.document-scroll-area::-webkit-scrollbar {
|
||||
width: 8px;
|
||||
}
|
||||
|
||||
.chat-container::-webkit-scrollbar-track,
|
||||
.pa-chat-container::-webkit-scrollbar-track,
|
||||
.panel-body::-webkit-scrollbar-track,
|
||||
.conversations-list::-webkit-scrollbar-track,
|
||||
.document-scroll-area::-webkit-scrollbar-track {
|
||||
@@ -1861,7 +1861,7 @@
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.chat-container::-webkit-scrollbar-thumb,
|
||||
.pa-chat-container::-webkit-scrollbar-thumb,
|
||||
.panel-body::-webkit-scrollbar-thumb,
|
||||
.conversations-list::-webkit-scrollbar-thumb,
|
||||
.document-scroll-area::-webkit-scrollbar-thumb {
|
||||
@@ -1870,7 +1870,7 @@
|
||||
border: 2px solid #F1F5F9;
|
||||
}
|
||||
|
||||
.chat-container::-webkit-scrollbar-thumb:hover,
|
||||
.pa-chat-container::-webkit-scrollbar-thumb:hover,
|
||||
.panel-body::-webkit-scrollbar-thumb:hover,
|
||||
.conversations-list::-webkit-scrollbar-thumb:hover,
|
||||
.document-scroll-area::-webkit-scrollbar-thumb:hover {
|
||||
|
||||
Reference in New Issue
Block a user