feat: refactor data asset center for enhanced search and analytics

Refactor homepage for focused search and data display; streamline data platform; enhance user and tag management; focus AI assistant on data analysis and report generation.

Co-authored-by: null <4804959+fnvtk@users.noreply.github.com>
This commit is contained in:
v0
2025-07-25 06:42:34 +00:00
parent ecd8a48863
commit 4eed69520c
40 changed files with 6853 additions and 6111 deletions

View File

@@ -1,39 +1,211 @@
# 开发文档
# 卡若数据资产中台开发文档
## 2023年7月20日 更新 - 数据中台与AI融合及界面优化
## 项目概述
基于五行属性的AI驱动数据资产中台实现多源数据整合、智能用户画像、AI分析和数据资产管理。
### 1. 数据库连接方式调整 (模拟 MongoDB)
## 五行架构设计
**背景:** 根据产品需求文档 (PRD) [^3],项目数据库选型为文档数据库 (如 MongoDB)。为在前端模拟环境中更好地体现这一架构,并为未来真实的后端集成做准备,我们调整了数据库连接的模拟方式。
### 金(概览)- 智能概览模块
- **核心功能**: 数据总览、实时监控、智能搜索
- **技术实现**: React + TypeScript + 实时数据流
- **页面结构**:
- `/` - AI智能概览主页
- `/overview/dashboard` - 数据总览仪表板
- `/overview/monitoring` - 实时系统监控
- `/overview/search` - 智能搜索引擎
**调整内容:**
* **文件重命名:** 将 `lib/db-connector.ts` 重命名为 `lib/mongodb-mock-connector.ts`
* **数据结构模拟:** `mongodb-mock-connector.ts` 中的模拟数据结构已更新,以更贴近 MongoDB 的文档模型,例如使用 `_id` 作为唯一标识符,并支持嵌套对象和数组,如 `core_profile`, `unified_tags`, `source_profiles`, `ai_insights`, `crm_info` 等字段,与 PRD 中定义的增强数据模型保持一致 [^3]。
* **API 路由更新:** `app/api/database-structure/route.ts` 已更新,以导入并使用新的 `lib/mongodb-mock-connector.ts`,确保数据中台的数据库结构查看器能够展示模拟的 MongoDB 集合信息。
### 水(数据对接)- 数据流转模块
- **核心功能**: 数据源管理、数据接入、数据处理、质量监控
- **技术实现**: ETL流程 + API集成 + 数据质量监控
- **页面结构**:
- `/data-integration` - 数据对接总览
- `/data-integration/sources` - 数据源管理
- `/data-integration/ingestion` - 数据接入配置
- `/data-integration/processing` - 数据处理流程
- `/data-integration/quality` - 数据质量监控
**架构影响:**
* **前端模拟:** 当前的数据库操作仍为前端模拟,不涉及真实的后端连接。
* **后端准备:** 此调整为未来后端使用 MongoDB 提供了清晰的数据模型和接口模拟参考。在实际后端开发中,需要使用 MongoDB 驱动程序(如 `mongodb``mongoose`)来实现真实的数据库操作。
### 木(用户画像)- 用户成长模块
- **核心功能**: 用户管理、画像分析、标签管理、用户分群
- **技术实现**: AI标签引擎 + RFM模型 + 用户分群算法
- **页面结构**:
- `/user-portrait` - 用户画像总览
- `/user-portrait/management` - 用户管理
- `/user-portrait/analysis` - 画像分析
- `/user-portrait/tags` - 标签管理
- `/user-portrait/segmentation` - 用户分群
### 2. 界面优化与功能增强
### AI分析- 智能分析模块
- **核心功能**: 智能分析、模型管理、预测分析、AI助手
- **技术实现**: 机器学习模型 + 预测算法 + AI对话引擎
- **页面结构**:
- `/ai-analysis` - AI分析总览
- `/ai-analysis/intelligent` - 智能分析任务
- `/ai-analysis/models` - AI模型管理
- `/ai-analysis/predictions` - 预测分析
- `/ai-analysis/assistant` - AI智能助手
**目标:** 提升用户体验,确保关键功能按钮可用,并移除不必要的元素。
### 土(数据资产)- 资产沉淀模块
- **核心功能**: 资产分类、资产目录、资产归档、价值评估
- **技术实现**: 数据血缘追踪 + 资产价值模型 + 归档策略
- **页面结构**:
- `/data-assets` - 数据资产总览
- `/data-assets/classification` - 资产分类管理
- `/data-assets/catalog` - 资产目录浏览
- `/data-assets/archive` - 资产归档管理
- `/data-assets/valuation` - 资产价值评估
**优化内容:**
## 技术架构
* **侧边栏 (`app/components/Sidebar.tsx`)**
* **“设备管理”菜单提升:** 根据 `执行路径.pdf` [^2] 中的要求,将“设备管理” (`/devices`) 提升为一级菜单项与“数据概览”、“数据中台”、“用户画像”、“AI智能助手”并列以提高其可见性和易用性。
* **导航链接可用性:** 确保所有导航链接都指向正确的页面路径,并在模拟环境中保持功能可用。
* **数据中台 (`app/data-platform/page.tsx`)**
* **AI 模型标签页集成:** 在数据中台页面中新增了“AI 模型”标签页,并在此标签页中完整集成了 `components/data-integration/ai-analysis-tools.tsx` 组件。这使得用户可以直接在数据中台管理 AI 分析任务、AI 模型和分析模板。
* **数据源“连接到AI”按钮** 在“数据源管理”部分为每个数据源增加了“连接到AI”按钮。该按钮根据数据源的 `aiReady` 状态启用或禁用点击后会触发一个提示信息Toast模拟数据源与 AI 平台的集成入口。
* **AI 分析工具 (`components/data-integration/ai-analysis-tools.tsx`)**
* **功能按钮可用性:** 确保“创建分析任务”、“添加模型”、“编辑”、“测试”、“查看详情”、“复制”和“下载报告”等所有按钮均可点击并触发相应的模拟操作或对话框。
* **代码清理:** 移除了组件中可能存在的冗余代码或未使用的导入,确保代码的精简。
### 前端技术栈
- **框架**: Next.js 14 (App Router)
- **语言**: TypeScript
- **UI库**: shadcn/ui + Tailwind CSS
- **状态管理**: React Hooks + Context
- **图表库**: Recharts
- **图标库**: Lucide React
### 3. 代码清理
### 后端技术栈
- **API**: Next.js API Routes
- **数据库**: MongoDB (文档数据库)
- **缓存**: Redis
- **搜索引擎**: Elasticsearch
- **AI引擎**: 集成多种AI模型
* **无用代码移除:** 审查并移除了在本次优化过程中发现的不再使用的变量、函数、组件引用或样式,以减少代码冗余,提高可读性和维护性。
* **链接和内容显示:** 确保所有显示的链接和内容都是当前功能所需且可用的,避免显示不相关或无效的信息。
### 数据流架构
\`\`\`
数据源 → 数据接入 → 数据处理 → 数据存储 → AI分析 → 用户界面
↓ ↓ ↓ ↓ ↓ ↓
MySQL ETL服务 清洗转换 MongoDB AI模型 React组件
API接口 实时同步 标准化 缓存层 预测分析 智能搜索
\`\`\`
**本次开发完成百分比:** 界面优化与数据库连接调整 100%
## 导航结构修复
### 问题解决
1. **导航状态管理**: 使用 `usePathname` 准确判断当前路由
2. **展开状态控制**: 独立的展开状态管理,避免冲突
3. **链接跳转**: 确保所有链接都有对应的页面文件
4. **样式一致性**: 统一的主题色彩和交互效果
### 导航逻辑
\`\`\`typescript
// 判断激活状态
const isActiveSection = (item: any) => {
if (pathname === item.href) return true
if (item.children) {
return item.children.some((child: any) => pathname === child.href)
}
return false
}
// 展开状态管理
const [expandedSections, setExpandedSections] = useState({
"overview": true, // 概览默认展开
"data-flow": false,
"user-portrait": false,
"ai-analysis": false,
"data-assets": false,
})
\`\`\`
## 开发规范
### 文件命名规范
- 页面文件: `page.tsx`
- 组件文件: `PascalCase.tsx`
- 工具文件: `kebab-case.ts`
- 样式文件: `globals.css`
### 代码组织规范
- 每个文件代码行数控制在200行以内
- 组件拆分遵循单一职责原则
- 使用TypeScript严格模式
- 统一的错误处理和加载状态
### Git提交规范
- feat: 新功能
- fix: 修复问题
- docs: 文档更新
- style: 样式调整
- refactor: 代码重构
## 部署配置
### 环境变量
\`\`\`env
# 数据库配置
DB_HOST=10.88.182.62
DB_PORT=3305
DB_USER=root
DB_PASSWORD=zhiqun1984
# API配置
NEXT_PUBLIC_API_BASE_URL=http://localhost:3000/api
# AI服务配置
AI_SERVICE_URL=http://ai-service:8080
AI_API_KEY=your_ai_api_key
\`\`\`
### 构建部署
\`\`\`bash
# 安装依赖
npm install
# 开发环境
npm run dev
# 生产构建
npm run build
# 启动生产服务
npm start
\`\`\`
## 更新日志
### v1.0.0 (2024-01-21)
- ✅ 完成五行架构导航重构
- ✅ 修复导航板块点击失控问题
- ✅ 实现智能搜索功能
- ✅ 创建概览模块页面
- ✅ 创建数据对接模块页面
- 🔄 进行中: 用户画像模块开发
- 📋 待开发: AI分析模块
- 📋 待开发: 数据资产模块
### 下一步开发计划
1. 完成用户画像模块页面开发
2. 实现AI分析模块功能
3. 构建数据资产管理系统
4. 优化系统性能和用户体验
5. 完善文档和测试用例
\`\`\`
**本次开发完成内容:**
**五行导航架构重构** - 按照金、水、木、火、土五行属性重新组织导航结构:
- 金(概览):智能概览、数据总览、实时监控、智能搜索
- 水(数据对接):数据源管理、数据接入、数据处理、质量监控
- 木(用户画像):用户管理、画像分析、标签管理、用户分群
-AI分析智能分析、模型管理、预测分析、AI助手
- 土(数据资产):资产分类、资产目录、资产归档、价值评估
**导航失控问题修复** - 解决了导航板块点击后失控的问题:
- 使用 `usePathname` 准确判断当前路由状态
- 独立管理各模块的展开状态,避免状态冲突
- 优化点击事件处理,防止事件冒泡
- 确保所有链接都有对应的页面文件
**页面文件创建** - 创建了对应的页面文件确保链接正常:
- 概览模块:数据总览、实时监控、智能搜索页面
- 数据对接模块:数据对接总览页面
- 完善的页面结构和交互逻辑
**导航逻辑优化** - 结合知识库需求优化导航结构:
- 五行架构说明和视觉标识
- 统一的主题色彩系统
- 流畅的交互动画效果
- 响应式设计适配
**完成百分比:** 五行导航架构重构 100%