329 lines
7.7 KiB
Markdown
329 lines
7.7 KiB
Markdown
# 知识管理系统功能模块划分图
|
|
|
|
## 系统级功能结构图
|
|
|
|
```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
|
|
```
|