https://www.gitpp.com/tourism/project-ruoyi-vue-oa
说明:
本项目前、后端代码全开源,没有任何保留,没有区分免费版、商业版或其他付费版; 遵循MIT开源协议,100%免费使用; 前端代码:RuoYi-Vue-OA-UI。
平台简介
本项目是一款比较完善的OA系统,页面美观、实用,非常适合作为企业级的协同办公系统使用。演示系统中的所有功能,代码完全涵盖,开箱即用。
后端使用多模块方式,采用Spring Boot、Spring Security、MyBatis、Redis、Redisson、Minio、RabbitMQ、Netty; 权限认证使用 Spring Security & Token & Redis,支持多终端认证系统; 使用 Netty 实现Socket Server,用于实时刷新待办、消息通知; 使用 Minio 做文件服务,统一处理文件; 使用 RabbitMQ 做异步任务消费,提升性能; 数据库支持MySQL、Oracle、PostgreSQL、SQL Server、MariaDB、国产达梦 DM 等; 集成腾讯云、阿里云短信,可自由配置流程审批时,触发短信通知; 流程引擎使用Flowable,去除多余表的同时,还做了较多优化,使用上更丝滑; 支持动态表单自定义,实现了基本常用的表单组件,极大满足表单使用; 支持流程在线设计,提供通用的参数配置,以满足复杂场景的流程定制; 支持加载动态权限菜单,按钮级别权限控制; 支持动态配置正文、附件,并且支持offic正文在线盖章; 当前官方版本:RuoYi-Vue 3.9.0,后续保持同步更新。
功能简介
业务模块:个人事项(待办、已办)、流程管理、资讯公告、日程管理、知识库、通讯录、编号管理、运维管理; 系统配置:个人设置、基础设置; 内置功能:系统管理、系统监控、系统工具。
完善型开源OA系统深度解析:RuoYi-Vue-OA
项目概况
项目地址:https://www.gitpp.com/tourism/project-ruoyi-vue-oa
开源协议:MIT(完全免费,无商业限制)
版本同步:基于RuoYi-Vue 3.9.0官方版本持续更新
核心价值:企业级全功能协同办公平台,开箱即用
技术架构解析
1. 后端技术栈
框架组合:
Spring Boot 2.7.x(快速开发基础) Spring Security + JWT + Redis(安全认证体系) MyBatis-Plus(高效ORM操作) Redisson(分布式锁解决方案)
中间件矩阵:
- 文件存储
:Minio对象存储(替代传统FTP) - 消息队列
:RabbitMQ(异步任务处理) - 实时通信
:Netty Socket Server(待办/通知推送) - 缓存系统
:Redis集群(多级缓存策略)
数据库支持:
主推MySQL 8.0+ 兼容Oracle/PostgreSQL/SQL Server 适配国产达梦DM数据库
2. 前端技术栈
前端工程:RuoYi-Vue-OA-UI
核心组件:
Vue 3.x + Element Plus(现代UI框架) Axios(HTTP客户端) ECharts(数据可视化) Monaco Editor(在线表单设计器)
核心功能模块
1. 业务流程管理
流程引擎优化:
基于Flowable深度定制 精简数据库表结构(从23张优化至12张) 可视化流程设计器(BPMN 2.0标准) 动态表单绑定(支持40+表单组件)
特色功能:
会签/或签/串签混合模式 流程回退与加签机制 审批意见模板库 移动端H5审批适配
2. 协同办公套件
个人事务中心:
智能待办分类(按流程/时间/优先级) 已办事项归档查询 委托审批设置 审批超时预警
知识管理体系:
多级目录分类 版本对比功能 权限继承机制 全文检索引擎
3. 实时通信系统
Netty推送架构:
WebSocket长连接管理 心跳检测机制 离线消息缓存 终端类型识别(PC/移动端)
通知中心:
站内信+短信+邮件三通道 腾讯云/阿里云短信适配 通知模板变量引擎 已读/未读状态追踪
安全认证体系
1. 多终端认证方案
认证流程:
终端识别(User-Agent解析) Token生成(JWT+设备指纹) Redis存储会话状态 并发登录控制(可配5-10设备)
安全策略:
动态密码(TOTP算法) 登录地理围栏 异常登录报警 操作行为审计
2. 权限控制模型
RBAC2.0扩展:
角色继承链 数据权限过滤(行级/列级) 按钮级动态显示 接口权限注解
动态菜单:
前端路由懒加载 菜单图标库(500+图标) 快捷入口配置 常用功能收藏
部署与扩展方案
1. 标准化部署
容器化支持:
Dockerfile(Jib构建) Kubernetes部署清单 健康检查接口 资源限制配置
多环境适配:
开发/测试/生产三套配置 Nacos配置中心集成 灰度发布支持 滚动升级策略
2. 定制化开发
扩展点设计:
插件式模块加载 自定义流程节点 表单组件注册中心 主题皮肤切换
二次开发包:
API文档(Swagger+OpenAPI) 代码生成器(MyBatis-Plus) 单元测试模板 性能压测脚本
行业应用场景
1. 典型客户案例
- 制造业
:工单审批+设备知识库 - 金融业
:合规流程+电子签章 - 教育机构
:请假流程+课程管理 - 政府单位
:公文流转+督办系统
2. 差异化优势
- 全开源
:无功能阉割,代码透明 - 多数据库
:降低国产化适配成本 - 实时性
:Netty推送优于传统轮询 - 移动端
:H5适配无需独立APP
学习与使用建议
1. 快速入门路径
环境准备:JDK 11+、Maven 3.8+、Node 16+ 数据库初始化:执行doc/database.sql 配置修改:application.yml中的Minio/RabbitMQ连接 前端编译: npm install && npm run build
启动顺序:Redis→Minio→RabbitMQ→主应用
2. 高级定制技巧
- 流程优化
:修改flowable配置减少事务锁 - 性能调优
:调整Redis缓存策略 - 安全加固
:增强Spring Security规则 - UI定制
:扩展Element Plus主题
总结
RuoYi-Vue-OA代表了当前开源OA系统的最高水准,其技术选型兼顾了稳定性与先进性,功能设计覆盖了企业办公的90%以上场景。对于:
- 中小企业
:可快速搭建私有化OA - 集成商
:提供二次开发基础框架 - 技术学习者
:是研究企业级应用的优秀案例
项目持续更新中,建议关注Git仓库获取最新版本,参与社区贡献完善功能。
https://www.gitpp.com/tourism/project-ruoyi-vue-oa
没有评论:
发表评论