# OPSLI 快速开发平台 (已开源)


[![AUR](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg)](https://github.com/hiparker/opsli-boot/blob/master/LICENSE) [![spring-boot](https://img.shields.io/badge/spring--boot-2.3.3.RELEASE-green.svg)](http://spring.io/projects/spring-boot) [![mybatis-plus](https://img.shields.io/badge/mybatis--plus-3.4.0-blue.svg)](http://mp.baomidou.com) [![hutool](https://img.shields.io/badge/hutool-5.7.14-blue.svg)](https://www.hutool.cn) [![Stars](https://img.shields.io/github/stars/hiparker/opsli-boot?style=flat-square&label=Stars&logo=github)](https://github.com/hiparker/opsli-boot) [![Forks](https://img.shields.io/github/forks/hiparker/opsli-boot?style=flat-square&label=Forks&logo=github)](https://github.com/hiparker/opsli-boot)
## 关于 > OPSLI 是一款的低代码快速平台,零代码开发,致力于做更简洁的后台管理系统! > OPSLI 快速开发平台基于springboot、vue、element-ui ,项目采用前后端分离架构,热插拔式业务模块与插件扩展性高 ,代码简洁,功能丰富,开箱即用,帮助Java项目解决70%的重复工作,让开发更关注业务逻辑,既能快速提高效率,节省研发成本,同时又不失灵活性! ## 地址 - 官方网站: https://opsli.com - 演示地址: https://demo.opsli.bedebug.com - 文档地址: https://wiki.opsli.bedebug.com - 作者博客: https://www.bedebug.com - 问题反馈: https://github.com/hiparker/opsli-boot/issues - 交流Q群: 724850675 (1群) ## 技术选型 ### 前端 - vue-admin-beautiful ### 后端版本 > 单机版 | 名称 | 版本号 | | 名称 | 版本号 | | ---------------- | ------- | ---- | -------------- | -------------- | | jdk版本 | ^1.8 | | springboot版本 | ^2.3.3.RELEASE | | mybatis-plus版本 | ^3.4.0 | | pagehelper版本 | ^1.1.0 | | druid版本 | ^1.1.17 | | dynamic版本 | ^2.5.4 | | shiro-redis版本 | ^3.3.1 | | jwt版本 | ^3.10.3 | | ehcache版本 | ^3.9.0 | | easyexcel版本 | ^2.2.6 | | kaptcha版本 | ^0.0.9 | | guava版本 | ^29.0-jre | | enjoy版本 | ^4.9.03 | | hutool版本 | ^5.7.14 | ## 在线演示 > - 地址:https://demo.opsli.bedebug.com > - 账号:demo > - 密码:Aa123456 -------------------------------------------- > - 数据库监控/系统接口 > - 账号: admin > - 密码: 123456 ## 系统预览 ![opsli-1](https://gitee.com/hiparker/opsli-ui/raw/master/repository-images/opsli-1.jpg) ![opsli-2](https://gitee.com/hiparker/opsli-ui/raw/master/repository-images/opsli-2.jpg) ![opsli-3](https://gitee.com/hiparker/opsli-ui/raw/master/repository-images/opsli-3.jpg) ![opsli-4](https://gitee.com/hiparker/opsli-ui/raw/master/repository-images/opsli-4.jpg) ![opsli-5](https://gitee.com/hiparker/opsli-ui/raw/master/repository-images/opsli-5.jpg) ![opsli-7](https://gitee.com/hiparker/opsli-ui/raw/master/repository-images/opsli-7.jpg) ![opsli-8](https://gitee.com/hiparker/opsli-ui/raw/master/repository-images/opsli-8.jpg) ![opsli-9](https://gitee.com/hiparker/opsli-ui/raw/master/repository-images/opsli-9.jpg) ## 代码结构 ``` . ├── opsli-api 对外API 控制中心 │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── org │ │ │ │ └── opsli │ │ │ │ └── api │ │ │ │ ├── base API 基础 │ │ │ │ ├── web API Web层 │ │ │ │ └── warpper API 封装对象 │ │ │ │ ├── opsli-base-support 基础模块 │ ├── opsli-common 基础 - 公共模块 │ │ ├── src │ │ │ ├── main │ │ │ │ ├── java │ │ │ │ │ └── org │ │ │ │ │ └── opsli │ │ │ │ │ └── common │ │ │ │ │ ├── annotation 公共模块 - 注解类 │ │ │ │ │ ├── api 公共模块 - Result内部文件(暂时无用) │ │ │ │ │ ├── base 公共模块 - 基础类 │ │ │ │ │ ├── constants 公共模块 - 常量 │ │ │ │ │ ├── enums 公共模块 - Enums │ │ │ │ │ ├── exception 公共模块 - 异常类 │ │ │ │ │ ├── msg 公共模块 - 信息 │ │ │ │ │ ├── thread 公共模块 - 线程相关 │ │ │ │ │ │ ├── refuse 拒绝策略线程池 │ │ │ │ │ │ └── wait 等待线程池 │ │ │ │ │ └── utils 公共模块 - 工具类 │ │ │ │ │ │ └── opsli-core 基础 - 核心模块 │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── org │ │ │ │ └── opsli │ │ │ │ └── core │ │ │ │ ├── api 核心模块 - API接口相关(登录Token缓存) │ │ │ │ ├── autoconfigure 核心模块 - 自动配置 │ │ │ │ │ ├── conf 自动装配 │ │ │ │ │ └── properties 配置文件注入 │ │ │ │ ├── base 核心模块 - 基础类 Entity Service │ │ │ │ ├── cache 核心模块 - 缓存处理 │ │ │ │ ├── filters 核心模块 - 过滤器 │ │ │ │ │ ├── aspect AOP切面 │ │ │ │ │ └── interceptor Spring拦截器 │ │ │ │ ├── conf 核心模块 - 全局统一自动装配 │ │ │ │ ├── general 核心模块 - 打印信息 │ │ │ │ ├── handler 核心模块 - 异常拦截处理 │ │ │ │ ├── listener 核心模块 - 系统监听器 │ │ │ │ ├── msg 核心模块 - 信息 │ │ │ │ ├── persistence 核心模块 - 查询条件构造器 │ │ │ │ │ └── querybuilder │ │ │ │ │ └── chain 核心模块 - 查询条件构造器 - 责任链(例: 租户处理) │ │ │ │ ├── security 核心模块 - 权限验证 │ │ │ │ │ └── shiro Shiro权限校验 │ │ │ │ └── utils 核心模块 - 工具类 │ │ │ │ ├── opsli-modulars 业务 │ ├── opsli-modulars-generator 代码生成器 │ │ ├── src │ │ │ ├── main │ │ │ │ ├── java │ │ │ │ │ └── org │ │ │ │ │ └── opsli │ │ │ │ │ ├──core 代码生成器 - 核心包 │ │ │ │ │ │ └── generator │ │ │ │ │ │ ├── enums 代码生成器 - 枚举类 │ │ │ │ │ │ ├── exception 代码生成器 - 异常类 │ │ │ │ │ │ ├── msg 代码生成器 - 信息类 │ │ │ │ │ │ ├── strategy 代码生成器 - 策略类 │ │ │ │ │ │ └── utils 代码生成器 - 工具包 │ │ │ │ │ │ │ │ │ │ │ └── modulars 代码生成器 - 业务包 │ │ │ │ │ └── generator │ │ │ │ │ ├── column 代码生成器 - 表结构 │ │ │ │ │ ├── createrlogs 代码生成器 - 生成记录 │ │ │ │ │ ├── general 代码生成器 - 同步数据库执行器 │ │ │ │ │ ├── importable 代码生成器 - 数据库导入 │ │ │ │ │ └── table 代码生成器 - 表管理 │ │ │ │ │ │ └── opsli-modulars-system 系统模块 │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── org │ │ │ │ └── opsli │ │ │ │ └── modulars │ │ │ │ ├── system 系统模块 - 系统配置 │ │ │ │ │ ├── area 系统模块 - 地域 │ │ │ │ │ ├── dict 系统模块 - 字典 │ │ │ │ │ ├── login 系统模块 - 登录 │ │ │ │ │ ├── logs 系统模块 - 日志 │ │ │ │ │ ├── menu 系统模块 - 菜单 │ │ │ │ │ ├── monitor 系统模块 - 系统监控 │ │ │ │ │ ├── options 系统模块 - 参数配置 │ │ │ │ │ ├── org 系统模块 - 组织机构 │ │ │ │ │ ├── role 系统模块 - 角色 │ │ │ │ │ ├── tenant 系统模块 - 租户 │ │ │ │ │ └── user 系统模块 - 用户 │ │ │ │ │ │ │ │ │ └── tools 工具包 │ │ │ │ ├── searchhis 工具包 - 搜索历史 │ │ │ │ └── email 工具包 - 邮件包 │ │ │ │ ├── opsli-plugins 插件 │ ├── opsli-plugins-ehcache Ehcache缓存插件 (二级缓存) │ │ ├── src │ │ │ ├── main │ │ │ │ ├── java │ │ │ │ │ └── org │ │ │ │ │ └── opsli │ │ │ │ │ └── plugins │ │ │ │ │ └── cache │ │ │ │ │ ├── conf Ehcache缓存插件 - 自动装配 │ │ │ │ │ ├── msg Ehcache缓存插件 - 信息 │ │ │ │ │ └── service Ehcache缓存插件 - 服务 │ │ │ │ │ │ ├── opsli-plugins-excel Excel插件 │ │ ├── src │ │ │ ├── main │ │ │ │ ├── java │ │ │ │ │ └── org │ │ │ │ │ └── opsli │ │ │ │ │ └── plugins │ │ │ │ │ └── excel │ │ │ │ │ ├── annotation Excel插件 - 注解 │ │ │ │ │ ├── exception Excel插件 - 异常类 │ │ │ │ │ ├── factory Excel插件 - 工厂 │ │ │ │ │ ├── listener Excel插件 - 监听器 │ │ │ │ │ └── msg Excel插件 - 信息 │ │ │ │ │ │ └── opsli-plugins-redis Redis缓存插件(一级缓存) │ │ ├── src │ │ │ ├── main │ │ │ │ ├── java │ │ │ │ │ └── org │ │ │ │ │ └── opsli │ │ │ │ │ └── plugins │ │ │ │ │ └── redis │ │ │ │ │ ├── conf Redis缓存插件 - 自动装配 │ │ │ │ │ ├── exception Redis缓存插件 - 异常类 │ │ │ │ │ ├── lock Redis缓存插件 - 分布式锁 │ │ │ │ │ ├── msg Redis缓存插件 - 信息 │ │ │ │ │ ├── pushsub Redis缓存插件 - 消息订阅 │ │ │ │ │ └── scripts Redis缓存插件 - 脚本处理 │ │ │ │ └── resources │ │ │ │ │ └── lua Redis缓存插件 - Lua脚本 │ │ │ │ │ │ └── opsli-plugins-redisson Redisson分布式锁 │ │ ├── src │ │ │ ├── main │ │ │ │ ├── java │ │ │ │ │ └── org │ │ │ │ │ └── opsli │ │ │ │ │ └── plugins │ │ │ │ │ └── redis │ │ │ │ │ ├── annotation Redisson分布式锁 - 注解 │ │ │ │ │ ├── conf Redisson分布式锁 - 自动装配 │ │ │ │ │ ├── constant Redisson分布式锁 - 常量 │ │ │ │ │ ├── enums Redisson分布式锁 - 枚举类 │ │ │ │ │ ├── properties Redisson分布式锁 - 配置类 │ │ │ │ │ └── strategy Redisson分布式锁 - 策略 │ │ │ │ │ │ └── opsli-plugins-waf Waf软防火墙 │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── org │ │ │ │ └── opsli │ │ │ │ └── plugins │ │ │ │ └── redis │ │ │ │ ├── conf Waf软防火墙 - 自动装配 │ │ │ │ ├── filter Waf软防火墙 - 拦截器 │ │ │ │ ├── msg Waf软防火墙 - 信息 │ │ │ │ ├── properties Waf软防火墙 - 配置类 │ │ │ │ ├── servlet Waf软防火墙 - Servlet处理器 │ │ │ │ └── util Waf软防火墙 - 工具包 │ │ │ │ └── opsli-starter 启动类 └── src └── main ├── java │ └── org │ └── opsli 启动类 - 启动器 └── resources 启动类 - 配置 └── config 启动类 - 其他配置 ``` ## 作者寄语 感谢Star,感恩相遇,愿世间美好与我们环环相扣,加油!屏幕前的我们,打破桎梏,坚守初心。其实人生改变命运的机会并没有太多,我们并不是不优秀,我们也并不是一无是处,我们也希望驻足山巅被众人仰望,也许我们缺少的只是一个机会,缺少的只是生命中的导师,我希望这个框架帮助到更多的人,希望有一天,我们面试的时候不再胆怯,希望有一天别人看到的不仅仅是你的努力,还有你的功成名就,出人头地。 ## 鸣谢 - 感谢 JetBrains 提供的免费开源 License: jetbrains ## 贡献者列表 [![contributors](https://whnb.wang/contributors/hiparker/opsli-boot)](https://github.com/hiparker/opsli-boot) ## Stars 趋势 ### Gitee [![Stargazers over time](https://whnb.wang/stars/hiparker/opsli-boot)](https://github.com/hiparker/opsli-boot) ### Github [![Stargazers over time](https://starchart.cc/hiparker/opsli-boot.svg)](https://github.com/hiparker/opsli-boot) ## 支持 > 谢谢您愿意支持开源