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