# helpDoc **Repository Path**: leimingwei/help-doc ## Basic Information - **Project Name**: helpDoc - **Description**: 帮助文档管理中心是一个基于Vue2+ElementUI+SpringBoot+MySQL的全栈项目,提供文档上传、管理、权限控制等功能。 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-29 - **Last Updated**: 2026-02-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 帮助文档管理中心 ## 项目简介 帮助文档管理中心是一个基于Vue2+ElementUI+SpringBoot+MySQL的全栈项目,提供文档上传、管理、权限控制等功能。 ## 技术栈 ### 前端 - Vue 2.6.14 - Vue Router 3.5.3 - Vuex 3.6.2 - Element UI 2.15.13 - Axios 0.27.2 ### 后端 - Spring Boot 2.7.14 - Spring Security - MyBatis Plus 3.5.3 - MySQL 8.0 - JWT - Druid ## 项目结构 ``` helpDoc/ ├── frontend/ # 前端项目 │ ├── src/ │ │ ├── views/ # 页面组件 │ │ │ ├── Login.vue # 登录页面 │ │ │ ├── Layout.vue # 布局页面 │ │ │ ├── Dashboard.vue # 首页 │ │ │ ├── DocumentManagement.vue # 文档管理 │ │ │ ├── UserManagement.vue # 用户管理 │ │ │ └── RoleManagement.vue # 角色管理 │ │ ├── router/ # 路由配置 │ │ ├── store/ # 状态管理 │ │ ├── App.vue # 根组件 │ │ └── main.js # 入口文件 │ ├── public/ │ └── package.json ├── backend/ # 后端项目 │ ├── src/main/java/com/helpdoc/ │ │ ├── controller/ # 控制器 │ │ ├── service/ # 服务层 │ │ ├── mapper/ # 数据访问层 │ │ ├── entity/ # 实体类 │ │ ├── config/ # 配置类 │ │ ├── security/ # 安全配置 │ │ └── common/ # 公共类 │ ├── src/main/resources/ │ │ └── application.yml # 配置文件 │ └── pom.xml └── database/ # 数据库脚本 └── helpdoc.sql ``` ## 功能模块 ### 1. 用户登录模块 - 用户名密码登录 - JWT Token认证 - 自动登录状态保持 ### 2. 权限访问配置 - 基于角色的权限控制(RBAC) - 菜单权限 - 按钮级别权限 - 角色管理 - 用户-角色关联 ### 3. 文档上传管理 - 文档上传(支持Word、PDF、Excel、Markdown等) - 文档列表查询 - 文档信息编辑 - 文档下载 - 文档状态管理(草稿、已发布、已下线) - 文档字段: - 文档ID - 文档名称 - 文档类型 - 文档状态 - 上传的文件 - 备注 - 上传人 - 上传时间 ### 4. 用户管理 - 用户增删改查 - 用户角色分配 - 密码重置 - 用户状态管理 ### 5. 角色管理 - 角色增删改查 - 角色权限配置 - 权限树形结构展示 ## 数据库设计 ### 核心表结构 1. **sys_user(用户表)** - user_id: 用户ID - username: 用户名 - password: 密码(BCrypt加密) - real_name: 真实姓名 - email: 邮箱 - phone: 手机号 - role_id: 角色ID - status: 状态 2. **sys_role(角色表)** - role_id: 角色ID - role_name: 角色名称 - role_code: 角色编码 - description: 描述 3. **sys_permission(权限表)** - permission_id: 权限ID - parent_id: 父权限ID - permission_name: 权限名称 - permission_code: 权限编码 - permission_type: 权限类型(menu/button) 4. **sys_role_permission(角色权限关联表)** - id: 主键 - role_id: 角色ID - permission_id: 权限ID 5. **doc_document(文档表)** - document_id: 文档ID - document_name: 文档名称 - document_type: 文档类型 - status: 文档状态 - file_path: 文件路径 - file_name: 文件名 - file_size: 文件大小 - upload_user_id: 上传人ID - remark: 备注 - upload_time: 上传时间 ## 快速开始 ### 环境要求 - Node.js 8+ - JDK 1.8+ - Maven 3.6+ - MySQL 8.0+ ### 数据库初始化 1. 创建数据库并执行SQL脚本: ```bash mysql -u root -p < database/helpdoc.sql ``` 2. 修改后端配置文件 `backend/src/main/resources/application.yml` 中的数据库连接信息。 ### 后端启动 ```bash cd backend mvn clean install mvn spring-boot:run ``` 后端服务将在 http://localhost:8080 启动 ### 前端启动 ```bash cd frontend npm install npm run dev ``` 前端服务将在 http://localhost:8081/helpdoc/ 启动 ### 默认账号 系统提供三个默认账号,密码均为:`123456` 1. 超级管理员 - 用户名:admin - 权限:所有权限 2. 文档管理员 - 用户名:docadmin - 权限:文档管理相关权限 3. 普通用户 - 用户名:user - 权限:查看权限 ## API接口说明 ### 认证接口 - `POST /api/auth/login` - 用户登录 ### 用户管理接口 - `GET /api/user/list` - 获取用户列表 - `POST /api/user` - 添加用户 - `PUT /api/user` - 更新用户 - `DELETE /api/user/{id}` - 删除用户 - `PUT /api/user/reset-password` - 重置密码 ### 文档管理接口 - `GET /api/document/list` - 获取文档列表 - `POST /api/document` - 添加文档 - `PUT /api/document` - 更新文档 - `DELETE /api/document/{id}` - 删除文档 - `POST /api/document/upload` - 上传文件 - `GET /api/document/download/{id}` - 下载文档 ## 系统截图 ### 登录页面 ![登录页面](./screenshots/login.png) ### 首页 ![首页](./screenshots/dashboard.png) ### 文档管理 ![文档管理](./screenshots/documents.png) ### 用户管理 ![用户管理](./screenshots/users.png) ### 角色管理 ![角色管理](./screenshots/roles.png) ## 开发说明 ### 前端开发 1. 新增页面需在 `src/views/` 目录下创建Vue组件 2. 在 `src/router/index.js` 中配置路由 3. 权限控制使用 `hasPermission` 方法和路由守卫 4. 增加了一个可提供外部应该嵌套的帮助文档查看列表:[http://localhost:8081/helpdoc/public/documents](http://localhost:8081/helpdoc/public/documents) ### 后端开发 1. 使用MyBatis Plus简化CRUD操作 2. 使用Spring Security + JWT进行认证授权 3. 使用 `@PreAuthorize` 注解进行方法级别的权限控制 ## 注意事项 1. 文件上传大小限制为10MB 2. 上传的文件存储在 `./uploads/` 目录,对应后端upload-path配置,自行修改 3. JWT Token有效期为24小时 4. 密码使用BCrypt加密存储 ## 后续优化建议 1. 添加文档预览功能 2. 实现文档版本管理 3. 添加文档分类功能 4. 增加操作日志记录 5. 实现文档搜索功能 6. 添加数据统计图表 7. 实现文档评论功能 8. 支持更多文件格式 ## 许可证 MIT License