初始化项目代码
This commit is contained in:
328
文件/系统功能模块划分图.md
Normal file
328
文件/系统功能模块划分图.md
Normal file
@@ -0,0 +1,328 @@
|
||||
# 知识管理系统功能模块划分图
|
||||
|
||||
## 系统级功能结构图
|
||||
|
||||
```mermaid
|
||||
flowchart TB
|
||||
subgraph TOP["知识管理系统"]
|
||||
subgraph Front["前台用户端"]
|
||||
F1["用户认证"]
|
||||
F2["文件管理"]
|
||||
F3["题库管理"]
|
||||
F4["AI对话"]
|
||||
F5["个人中心"]
|
||||
end
|
||||
|
||||
subgraph Back["后台管理端"]
|
||||
B1["用户管理"]
|
||||
B2["部门管理"]
|
||||
B3["权限管理"]
|
||||
B4["文件审核"]
|
||||
B5["日志管理"]
|
||||
B6["系统配置"]
|
||||
end
|
||||
end
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 详细功能模块划分
|
||||
|
||||
### 第一层:系统层
|
||||
|
||||
| 模块名称 | 说明 |
|
||||
|---------|------|
|
||||
| 知识管理系统 | 整体系统名称 |
|
||||
|
||||
---
|
||||
|
||||
### 第二层:前端/后端层
|
||||
|
||||
| 分类 | 说明 |
|
||||
|------|------|
|
||||
| 前台用户端 | 普通用户操作界面 |
|
||||
| 后台管理端 | 管理员操作界面 |
|
||||
|
||||
---
|
||||
|
||||
### 第三层:功能模块层
|
||||
|
||||
#### 前台用户端
|
||||
|
||||
| 模块 | 功能列表 | 控制器 |
|
||||
|------|---------|--------|
|
||||
| 用户认证 | 登录、注册、Token验证 | AuthController |
|
||||
| 文件管理 | 文件上传、文件查询、文件下载、RAG问答 | FileController |
|
||||
| 题库管理 | 题目查询、答题练习 | QuestionController |
|
||||
| AI对话 | 流式问答、会话管理、引用查看 | AIChatController |
|
||||
| 个人中心 | 个人信息管理 | UserController |
|
||||
|
||||
#### 后台管理端
|
||||
|
||||
| 模块 | 功能列表 | 控制器 |
|
||||
|------|---------|--------|
|
||||
| 用户管理 | 用户CRUD、用户列表、用户详情 | UserController |
|
||||
| 部门管理 | 部门CRUD、部门列表、部门详情 | DepartmentController |
|
||||
| 权限管理 | 角色CRUD、权限分配、权限列表 | RoleController |
|
||||
| 文件审核 | 待审核列表、审核通过、审核拒绝 | FileController |
|
||||
| 日志管理 | 操作日志查询、日志详情 | LogController |
|
||||
| 系统配置 | 知识库配置、系统参数 | - |
|
||||
|
||||
---
|
||||
|
||||
## 模块调用关系图
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
subgraph User["用户层"]
|
||||
U1["普通用户"]
|
||||
U2["部门管理员"]
|
||||
U3["系统管理员"]
|
||||
end
|
||||
|
||||
subgraph Front["前台功能"]
|
||||
F_AUTH["用户认证"]
|
||||
F_FILE["文件管理"]
|
||||
F_QUESTION["题库管理"]
|
||||
F_AI["AI对话"]
|
||||
end
|
||||
|
||||
subgraph Back["后台功能"]
|
||||
B_USER["用户管理"]
|
||||
B_DEPT["部门管理"]
|
||||
B_ROLE["权限管理"]
|
||||
B_FILE["文件审核"]
|
||||
B_LOG["日志管理"]
|
||||
end
|
||||
|
||||
subgraph Service["服务层"]
|
||||
S_AUTH["AuthService"]
|
||||
S_FILE["FileService"]
|
||||
S_USER["UserService"]
|
||||
S_DEPT["DepartmentService"]
|
||||
S_ROLE["RoleService"]
|
||||
S_CHAT["ChatService"]
|
||||
S_AI["AiChatService"]
|
||||
end
|
||||
|
||||
subgraph Data["数据层"]
|
||||
DB[("MySQL")]
|
||||
KB[("知识库")]
|
||||
end
|
||||
|
||||
U1 --> F_AUTH
|
||||
U1 --> F_FILE
|
||||
U1 --> F_QUESTION
|
||||
U1 --> F_AI
|
||||
|
||||
U2 --> F_AUTH
|
||||
U2 --> F_FILE
|
||||
U2 --> B_DEPT
|
||||
U2 --> B_FILE
|
||||
|
||||
U3 --> F_AUTH
|
||||
U3 --> B_USER
|
||||
U3 --> B_DEPT
|
||||
U3 --> B_ROLE
|
||||
U3 --> B_FILE
|
||||
U3 --> B_LOG
|
||||
|
||||
F_AUTH --> S_AUTH
|
||||
F_FILE --> S_FILE
|
||||
F_AI --> S_AI
|
||||
F_AI --> S_CHAT
|
||||
|
||||
B_USER --> S_USER
|
||||
B_DEPT --> S_DEPT
|
||||
B_ROLE --> S_ROLE
|
||||
B_FILE --> S_FILE
|
||||
B_LOG --> S_FILE
|
||||
|
||||
S_AUTH --> DB
|
||||
S_FILE --> DB
|
||||
S_USER --> DB
|
||||
S_DEPT --> DB
|
||||
S_ROLE --> DB
|
||||
S_AI --> KB
|
||||
S_CHAT --> DB
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 功能菜单树
|
||||
|
||||
```
|
||||
知识管理系统
|
||||
│
|
||||
├── 前台用户端
|
||||
│ ├── 用户认证
|
||||
│ │ ├── 用户登录
|
||||
│ │ ├── Token验证
|
||||
│ │ └── 退出登录
|
||||
│ │
|
||||
│ ├── 文件管理
|
||||
│ │ ├── 文件上传
|
||||
│ │ ├── 文件查询
|
||||
│ │ ├── 文件详情
|
||||
│ │ ├── 文件更新
|
||||
│ │ ├── 文件删除
|
||||
│ │ └── RAG问答
|
||||
│ │
|
||||
│ ├── 题库管理
|
||||
│ │ ├── 题目查询
|
||||
│ │ ├── 题目详情
|
||||
│ │ └── 答题练习
|
||||
│ │
|
||||
│ ├── AI对话
|
||||
│ │ ├── 流式问答
|
||||
│ │ ├── 会话列表
|
||||
│ │ ├── 会话详情
|
||||
│ │ ├── 引用查看
|
||||
│ │ ├── 会话删除
|
||||
│ │ └── 问答中断
|
||||
│ │
|
||||
│ └── 个人中心
|
||||
│ ├── 个人信息
|
||||
│ └── 修改密码
|
||||
│
|
||||
└── 后台管理端
|
||||
├── 用户管理
|
||||
│ ├── 用户列表
|
||||
│ ├── 用户详情
|
||||
│ ├── 添加用户
|
||||
│ ├── 编辑用户
|
||||
│ └── 删除用户
|
||||
│
|
||||
├── 部门管理
|
||||
│ ├── 部门列表
|
||||
│ ├── 部门详情
|
||||
│ ├── 添加部门
|
||||
│ ├── 编辑部门
|
||||
│ └── 删除部门
|
||||
│
|
||||
├── 权限管理
|
||||
│ ├── 角色列表
|
||||
│ ├── 角色详情
|
||||
│ ├── 添加角色
|
||||
│ ├── 编辑角色
|
||||
│ ├── 删除角色
|
||||
│ ├── 权限列表
|
||||
│ └── 权限分配
|
||||
│
|
||||
├── 文件审核
|
||||
│ ├── 待审核列表
|
||||
│ ├── 审核通过
|
||||
│ └── 审核拒绝
|
||||
│
|
||||
├── 日志管理
|
||||
│ ├── 日志列表
|
||||
│ └── 日志详情
|
||||
│
|
||||
└── 系统配置
|
||||
├── 知识库配置
|
||||
└── 参数设置
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 接口权限矩阵
|
||||
|
||||
| 功能模块 | 普通用户 | 部门管理员 | 系统管理员 |
|
||||
|---------|:-------:|:----------:|:----------:|
|
||||
| **用户认证** | | | |
|
||||
| 登录 | ✅ | ✅ | ✅ |
|
||||
| 注册 | ✅ | ✅ | ✅ |
|
||||
| **文件管理** | | | |
|
||||
| 上传文件 | ✅ | ✅ | ✅ |
|
||||
| 查询文件 | ✅ | ✅ | ✅ |
|
||||
| 删除文件 | ✅ | ✅ | ✅ |
|
||||
| RAG问答 | ✅ | ✅ | ✅ |
|
||||
| **题库管理** | | | |
|
||||
| 查询题目 | ✅ | ✅ | ✅ |
|
||||
| 答题练习 | ✅ | ✅ | ✅ |
|
||||
| **AI对话** | | | |
|
||||
| 流式问答 | ✅ | ✅ | ✅ |
|
||||
| 会话管理 | ✅ | ✅ | ✅ |
|
||||
| **用户管理** | | | |
|
||||
| 用户列表 | ❌ | ❌ | ✅ |
|
||||
| 用户详情 | ❌ | ❌ | ✅ |
|
||||
| 添加用户 | ❌ | ❌ | ✅ |
|
||||
| 编辑用户 | ❌ | ❌ | ✅ |
|
||||
| 删除用户 | ❌ | ❌ | ✅ |
|
||||
| **部门管理** | | | |
|
||||
| 部门列表 | ❌ | ✅ | ✅ |
|
||||
| 部门详情 | ❌ | ✅ | ✅ |
|
||||
| 添加部门 | ❌ | ❌ | ✅ |
|
||||
| 编辑部门 | ❌ | ❌ | ✅ |
|
||||
| 删除部门 | ❌ | ❌ | ✅ |
|
||||
| **权限管理** | | | |
|
||||
| 角色列表 | ❌ | ❌ | ✅ |
|
||||
| 权限分配 | ❌ | ❌ | ✅ |
|
||||
| **文件审核** | | | |
|
||||
| 待审核列表 | ❌ | ✅ | ✅ |
|
||||
| 审核通过 | ❌ | ✅ | ✅ |
|
||||
| 审核拒绝 | ❌ | ✅ | ✅ |
|
||||
| **日志管理** | | | |
|
||||
| 日志列表 | ❌ | ❌ | ✅ |
|
||||
| 日志详情 | ❌ | ❌ | ✅ |
|
||||
|
||||
---
|
||||
|
||||
## 技术架构图
|
||||
|
||||
```mermaid
|
||||
flowchart TB
|
||||
subgraph Client["客户端层"]
|
||||
WEB["Web浏览器"]
|
||||
APP["移动App"]
|
||||
API["第三方系统"]
|
||||
end
|
||||
|
||||
subgraph Gateway["网关层"]
|
||||
GATEWAY["Spring Cloud Gateway"]
|
||||
AUTH["认证中心"]
|
||||
end
|
||||
|
||||
subgraph Service["业务服务层"]
|
||||
USER_SVC["用户服务"]
|
||||
FILE_SVC["文件服务"]
|
||||
AI_SVC["AI服务"]
|
||||
CHAT_SVC["对话服务"]
|
||||
QUESTION_SVC["题库服务"]
|
||||
end
|
||||
|
||||
subgraph Data["数据层"]
|
||||
MYSQL["MySQL数据库"]
|
||||
REDIS["Redis缓存"]
|
||||
MINIO["MinIO对象存储"]
|
||||
ES["Elasticsearch"]
|
||||
end
|
||||
|
||||
subgraph External["外部服务"]
|
||||
LLM["大模型服务"]
|
||||
RAG["RAG服务"]
|
||||
end
|
||||
|
||||
WEB --> GATEWAY
|
||||
APP --> GATEWAY
|
||||
API --> GATEWAY
|
||||
|
||||
GATEWAY --> AUTH
|
||||
AUTH --> USER_SVC
|
||||
|
||||
GATEWAY --> USER_SVC
|
||||
GATEWAY --> FILE_SVC
|
||||
GATEWAY --> AI_SVC
|
||||
GATEWAY --> CHAT_SVC
|
||||
GATEWAY --> QUESTION_SVC
|
||||
|
||||
USER_SVC --> MYSQL
|
||||
USER_SVC --> REDIS
|
||||
FILE_SVC --> MYSQL
|
||||
FILE_SVC --> MINIO
|
||||
AI_SVC --> LLM
|
||||
AI_SVC --> RAG
|
||||
CHAT_SVC --> MYSQL
|
||||
CHAT_SVC --> ES
|
||||
QUESTION_SVC --> MYSQL
|
||||
```
|
||||
Reference in New Issue
Block a user