前言
在企业日常运营中,文档管理常常面临版本混乱、访问不便、反馈脱节等问题。传统的文件夹共享或邮件传递方式已难以满足高效协作的需求。为此,我们开发了一套轻量但功能完整的在线文档管理系统——它不仅支持文档上传与预览,还能通过二维码实现移动端快速访问,并打通用户反馈闭环。整个系统采用现代化全栈技术构建,兼顾安全性、易用性与可维护性,适用于中小团队或内部知识库场景。
项目介绍
本系统是一套企业级文档管理解决方案,采用前后端分离架构,包含两个核心部分:
PC 后台管理系统:供管理员进行文档、用户、反馈的集中管理;
H5 移动端预览页面:用户扫码即可查看文档并提交意见,无需登录。
系统默认提供超级管理员与普通管理员两种角色,支持细粒度权限控制,所有操作均有安全防护。项目完全开源,部署简单,开箱即用。
项目功能
1、用户认证与权限管理
基于 JWT 实现登录态,支持多角色权限控制,密码采用 BCrypt 加密存储。
2、文档全生命周期管理
支持 .doc/.docx 文件上传、按出厂编号筛选、逻辑删除及列表分页查询。
3、二维码自动生成
每份文档自动绑定唯一二维码,扫码直达 H5 预览页;支持重新生成。
4、意见反馈闭环
H5 端匿名提交反馈,后台统一查看、标记处理状态,形成有效沟通链路。
5、响应式体验
PC 管理端与 H5 预览页均适配不同设备,界面简洁直观。
6、API 文档集成
通过 Knife4j 自动生成交互式接口文档,便于调试与二次开发。
项目特点
1、安全可靠:JWT 认证 + Spring Security 权限控制 + 文件类型校验 + SQL 注入防护。
2、移动端友好:二维码一键跳转 H5,无需安装 App,降低使用门槛。
3、开箱即用:提供初始化 SQL 脚本、默认账号、详细部署文档,10 分钟完成本地运行。
4、结构清晰:前后端代码模块化组织,注释完整,适合学习或二次开发。
5、无外部依赖:不依赖第三方云服务,所有功能本地闭环,数据完全自主可控。
项目技术
后端技术栈
安全框架:Spring Security 6.x + JWT 0.12.3
ORM 框架:MyBatis-Plus 3.5.5
工具库:Apache POI 5.2.5(Word 处理)、ZXing 3.5.2(二维码生成)
前端技术栈
项目效果
启动后端服务(http://localhost:8080)和前端(http://localhost:8081)
使用默认账号登录:
账号 | 密码 | 角色 |
admin | 123456 | 超级管理员 |
testuser | 123456 | 普通管理员 |
手机浏览器扫描文档二维码,即可进入 H5 预览页并提交意见;
所有 API 接口均可在 http://localhost:8080/doc.html 在线测试。
注意:生产环境务必修改默认密码并更换 JWT 密钥!
项目源码
项目采用标准前后端分离结构:
ODM_System/├── backend/ # 后端项目│ ├── src/main/java/com/document/│ │ ├── config/ # 安全、CORS、Swagger 配置│ │ ├── controller/ # REST 控制器│ │ ├── service/ # 业务逻辑│ │ ├── mapper/ # MyBatis 映射│ │ ├── entity/ # 实体类│ │ ├── util/ # JWT、二维码、文件工具│ │ ├── security/ # 认证过滤器│ │ └── exception/ # 全局异常处理│ ├── src/main/resources/application.yml│ └── db/init.sql # 数据库初始化脚本│├── frontend/ # 前端项目│ ├── src/│ │ ├── api/ # 接口封装│ │ ├── views/admin/ # 后台页面│ │ ├── views/h5/ # H5 预览页│ │ ├── router/ # 路由│ │ ├── store/ # Pinia 状态│ │ └── utils/ # Axios 封装│ └── vite.config.js│└── DEPLOYMENT.md # 详细部署指南GitHub 开源地址(示例):
Gitee:https://gitee.com/cold-and-warm/odm_-system
总结
这套文档管理系统虽小,却涵盖了企业级应用的核心要素:安全、权限、文件处理、移动端适配与用户反馈。它没有过度设计,也没有冗余功能,一切以"实用"为出发点。对于希望快速开发内部知识平台的团队,或正在学习 Vue 3 + Spring Boot 3.0 全栈开发的开发来说,它是一个不错的参考项目。
关键词
作者:小码编匠
出处:gitee.com/smallcore/DotNetCore
声明:网络内容,仅供学习,尊重版权,侵权速删,歉意致谢!
方便大家交流、资源共享和共同成长
纯技术交流群、需要的小伙伴请扫码
有收获?不妨分享让更多人受益
关注「程序员开源栈」,共同提升技术实力
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!