Git Product home page Git Product logo

hiparker / opsli-boot Goto Github PK

View Code? Open in Web Editor NEW
1.2K 25.0 217.0 15.22 MB

OPSLI 快速开发平台基于springboot、vue、element-ui ,项目采用前后端分离架构,热插拔式业务模块与插件扩展性高 ,代码简洁,功能丰富,开箱即用

Home Page: https://opsli.com

License: Apache License 2.0

Java 99.96% Lua 0.01% Dockerfile 0.01% Shell 0.01% Batchfile 0.01% FreeMarker 0.01%
opsli springboot admin spring-boot vue mybatis element-ui spring low-code codegenerator

opsli-boot's Introduction

OPSLI 快速开发平台 (v2.0)



AUR spring-boot mybatis-plus hutool Stars Forks

关于

OPSLI 是一款的低代码快速平台,零代码开发,致力于做更简洁的后台管理系统!

OPSLI 快速开发平台基于springboot、vue、element-ui ,项目采用前后端分离架构,热插拔式业务模块与插件扩展性高 ,代码简洁,功能丰富,开箱即用,帮助Java项目解决70%的重复工作,让开发更关注业务逻辑,既能快速提高效率,节省研发成本,同时又不失灵活性!

地址

技术选型

前端

  • vue-admin-beautiful

后端版本

单机版

名称 版本号 名称 版本号
jdk版本 1.8 springboot版本 2.7.10
mybatis-plus版本 3.5.2 pagehelper版本 1.4.6
druid版本 1.1.17 dynamic版本 2.5.4
fastjson版本 1.2.83 transmittable版本 2.12.5
ehcache版本 3.9.0 easyexcel版本 2.2.6
captcha版本 1.6.2 guava版本 30.0-android
enjoy版本 4.9.06 hutool版本 5.7.14

在线演示


  • 数据库监控/系统接口
  • 账号: admin
  • 密码: 123456

功能特点

高扩展登录:基于Spring Security 改造的高扩展接口,便于后期支持邮箱、手机、账号密码、第三方等登录

高扩展API管控:自动支持v1-vn 多版本、多终端接口兼容,业务扩展不打架

代码生成:采用自研的代码生成器+Jfinal Enjoy 模板引擎,在线可视化生成前后端代码,可自定义生成代码模版

多租户功能:采用自研完善的多租户SaaS功能,提供行业SaaS全套解决方案

登录安全:登录数据采用双向加密模式,后台一键式切换加密秘钥,保障登录用户隐私安全

数据安全:支持自定义注解,一键式加密数据

缓存安全:采用自研的 Security Cache,解决缓存穿透、击穿、雪崩问题

身份安全:修改邮箱、手机号或忘记密码时,有独立的身份认证鉴权

在线文档:通过接入Knife4j,实现在线API文档的查看与调试;

业务分离:采用前后端分离的框架设计,前端采用vue-admin-beautiful(开源版本 基于element-ui)

扩展登录

opsli-login-auth

系统预览

opsli-login

opsli-2

opsli-3

opsli-self

opsli-auth

opsli-4

opsli-5

opsli-7

opsli-8

opsli-setting

opsli-9

代码结构

.
├── 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                      公共模块 - 线程相关
│   │   │   │   │               └── utils                       公共模块 - 工具类
│   │   │   │   │
│   └── opsli-core                                          基础 - 核心模块
│       ├── src
│       │   ├── main
│       │   │   ├── java
│       │   │   │   └── org
│       │   │   │       └── opsli
│       │   │   │           ├── core                        核心
│       │   │   │           │   ├── api                         核心模块 - API接口相关(登录Token缓存)
│       │   │   │           │   ├── autoconfigure               核心模块 - 自动配置
│       │   │   │           │   │   ├── conf                      自动装配
│       │   │   │           │   │   └── properties                配置文件注入
│       │   │   │           │   ├── base                        核心模块 - 基础类 Entity Service
│       │   │   │           │   ├── cache                       核心模块 - 缓存处理
│       │   │   │           │   ├── eventbus                    核心模块 - 消息事件
│       │   │   │           │   ├── filters                     核心模块 - 过滤器
│       │   │   │           │   │   ├── aspect                     AOP切面
│       │   │   │           │   │   └── interceptor                Spring拦截器
│       │   │   │           │   ├── general                     核心模块 - 其他处理器
│       │   │   │           │   ├── handler                     核心模块 - 异常拦截处理
│       │   │   │           │   ├── holder                      核心模块 - 上下文数据
│       │   │   │           │   ├── listener                    核心模块 - 系统监听器
│       │   │   │           │   ├── log                         核心模块 - 日志处理
│       │   │   │           │   ├── msg                         核心模块 - 信息
│       │   │   │           │   ├── options                     核心模块 - 系统参数
│       │   │   │           │   ├── persistence                 核心模块 - 查询条件构造器
│       │   │   │           │   │   └── querybuilder
│       │   │   │           │   │       └── chain               核心模块 - 查询条件构造器 - 责任链(例: 租户处理)
│       │   │   │           │   ├── security                    核心模块 - 权限验证
│       │   │   │           │   │   ├── filter                       拦截器
│       │   │   │           │   │   └── service                      获取用户的Service
│       │   │   │           │   └── utils                       核心模块 - 工具类
│       │   │   │           └── pligins                   插件
│       │   │   │               └── oss                         插件模块 - OSS文件存储
│       │   │   │
├── 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                   系统模块 - 登录
│       │   │   │               │   │   ├── dto                   系统模块 - 登录 - DTO
│       │   │   │               │   │   ├── event                 系统模块 - 登录 - 消息事件
│       │   │   │               │   │   ├── handler               系统模块 - 登录 - 前置、成功、失败处理器
│       │   │   │               │   │   ├── vo                    系统模块 - 登录 - 返回数据
│       │   │   │               │   │   └──web                    系统模块 - 登录 - 接口控制器
│       │   │   │               │   ├── logs                    系统模块 - 日志
│       │   │   │               │   ├── menu                    系统模块 - 菜单
│       │   │   │               │   ├── monitor                 系统模块 - 系统监控
│       │   │   │               │   ├── options                 系统模块 - 参数配置
│       │   │   │               │   ├── org                     系统模块 - 组织机构
│       │   │   │               │   ├── role                    系统模块 - 角色
│       │   │   │               │   ├── tenant                  系统模块 - 租户
│       │   │   │               │   └── user                    系统模块 - 用户
│       │   │   │               │
│       │   │   │               └── tools                     工具包
│       │   │   │                   ├── api                     工具包 - 版本控制API测试类
│       │   │   │                   ├── common                  工具包 - 公共服务
│       │   │   │                   ├── email                   工具包 - 邮件包
│       │   │   │                   ├── oss                     工具包 - 文件存储
│       │   │   │                   └── searchhis               工具包 - 搜索历史
│       │   │   │
├── opsli-plugins                                  插件
│   ├── opsli-plugins-crypto                              加解密插件包
│   │   ├── src
│   │   │   ├── main
│   │   │   │   ├── java
│   │   │   │   │   └── org
│   │   │   │   │       └── opsli
│   │   │   │   │           └── plugins
│   │   │   │   │               └── crypto
│   │   │   │   │                   ├── enums                 加解密插件包 - 枚举
│   │   │   │   │                   ├── exception             加解密插件包 - 异常处理类
│   │   │   │   │                   ├── model                 加解密插件包 - 模型
│   │   │   │   │                   ├── msg                   加解密插件包 - 异常消息
│   │   │   │   │                   ├── spring                加解密插件包 - Spring集成相关内容
│   │   │   │   │                   └── strategy              加解密插件包 - 加解密策略 包含 对称、非对称等等
│   │   │   │   │
│   ├── opsli-plugins-ehcache                             Ehcache缓存插件 (二级缓存)
│   │   ├── src
│   │   │   ├── main
│   │   │   │   ├── java
│   │   │   │   │   └── org
│   │   │   │   │       └── opsli
│   │   │   │   │           └── plugins
│   │   │   │   │               └── cache
│   │   │   │   │                   ├── conf                  Ehcache缓存插件 - 自动装配
│   │   │   │   │                   ├── msg                   Ehcache缓存插件 - 信息
│   │   │   │   │                   └── service               Ehcache缓存插件 - 服务
│   │   │   │   │
│   ├── opsli-plugins-email                               邮件插件包
│   │   ├── src
│   │   │   ├── main
│   │   │   │   ├── java
│   │   │   │   │   └── org
│   │   │   │   │       └── opsli
│   │   │   │   │           └── plugins
│   │   │   │   │               └── email
│   │   │   │   │                   ├── conf                  邮件插件包 - 配置文件
│   │   │   │   │                   ├── exception             邮件插件包 - 异常处理类
│   │   │   │   │                   ├── msg                   邮件插件包 - 异常消息
│   │   │   │   │                   ├── service               邮件插件包 - 处理类
│   │   │   │   │                   └── wrapper               邮件插件包 - 包装器
│   │   │   │   │
│   ├── 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缓存插件 - 异常类
│   │   │   │   │                   ├── jsonserializer        Redis缓存插件 - json特殊处理器
│   │   │   │   │                   ├── 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-security                            安全认证插件包
│   │   ├── src
│   │   │   ├── main
│   │   │   │   ├── java
│   │   │   │   │   └── org
│   │   │   │   │       └── opsli
│   │   │   │   │           └── plugins
│   │   │   │   │               └── security
│   │   │   │   │                   ├── authentication        安全认证插件包 - 识别器
│   │   │   │   │                   ├── checker               安全认证插件包 - 检查器
│   │   │   │   │                   ├── eventbus              安全认证插件包 - 消息事件
│   │   │   │   │                   ├── eventdto              安全认证插件包 - 消息事件DTO
│   │   │   │   │                   ├── exception             安全认证插件包 - 异常
│   │   │   │   │                   ├── handler               安全认证插件包 - 登陆处理器
│   │   │   │   │                   ├── properties            安全认证插件包 - 配置文件
│   │   │   │   │                   ├── provider              安全认证插件包 - Security认证器
│   │   │   │   │                   ├── service               安全认证插件包 - 加载用户信息抽象Service
│   │   │   │   │                   ├── utils                 安全认证插件包 - 工具包
│   │   │   │   │                   └── vo                    安全认证插件包 - VO
│   │   │   │   │
│   ├── opsli-plugins-sms                               短信插件包
│   │   ├── src
│   │   │   ├── main
│   │   │   │   ├── java
│   │   │   │   │   └── org
│   │   │   │   │       └── opsli
│   │   │   │   │           └── plugins
│   │   │   │   │               └── sms
│   │   │   │   │                   ├── enums                 短信插件包 - 配置文件
│   │   │   │   │                   ├── exception             短信插件包 - 异常处理类
│   │   │   │   │                   ├── model                 短信插件包 - 模型
│   │   │   │   │                   ├── msg                   短信插件包 - 异常消息
│   │   │   │   │                   └── service               短信插件包 - 服务处理
│   │   │   │   │
│   └── 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,感恩相遇,愿世间美好与我们环环相扣,加油!屏幕前的我们,打破桎梏,坚守初心。其实人生改变命运的机会并没有太多,我们并不是不优秀,我们也并不是一无是处,我们也希望驻足山巅被众人仰望,也许我们缺少的只是一个机会,缺少的只是生命中的导师,我希望这个框架帮助到更多的人,希望有一天,我们面试的时候不再胆怯,希望有一天别人看到的不仅仅是你的努力,还有你的功成名就,出人头地。

鸣谢

版权说明

opsli-boot 采用 Apache License2.0协议

opsli-ui 是对于市面上开源的产品进行的二次开发,请相关开发者遵循对应前端框架的开源协议

代码可用于个人项目等接私活或企业项目脚手架使用,完全免费

二次开发如用于开源竞品请先联系群主沟通,未经审核视为侵权

请不要删除和修改源码头部的版权与作者声明及出处

贡献者列表

contributors

Stars 趋势

Gitee

Stargazers over time

Github

Stargazers over time

支持

谢谢您愿意支持开源

opsli-boot's People

Contributors

hicarina avatar hiparker avatar pifrancis avatar xmo-code avatar xuejiaqi2136 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

opsli-boot's Issues

前后台版本问题?

前台UI使用1.3版本,后台使用1.3.1版本,无法登陆,后台启动正常,前台已修改baseurl,但感觉前台的Login请求没有发到后台。另外我前台devtools改成了source-map,为什么在chrome里依然是乱码无法调试呢?

shiro并发登录问题

期望:
限制同一账号登录人数
例如:
system账号,限制三处登录,如果还有第四处登录,可踢出前者,或不允许后者登录
问题:
个人实现了KickoutFilter(网上找的),实现方式就是将登陆的sessionID存储起来,用于判断。但是有个问题就是退出登录的人sessionId还是存储在redis里,这造成人不在线,但是系统还认为他在线

开发团队有没有打算完善这部分代码,个人觉得还是挺实用的,就是能力比较弱,搞了几天没解决

有bug啊

系统管理员分配租户管理员时候,新增一个用户,这个用户租户id为0

SLF4J 包冲突

启动报错:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/Users/lenovo/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/Users/lenovo/.m2/repository/org/slf4j/slf4j-log4j12/1.7.30/slf4j-log4j12-1.7.30.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.