简介
搭建基于OAuth2的开放平台、为APP端、应用服务提供统一接口管控平台、为第三方合作伙伴的业务对接提供授信可控的技术对接平台
- 分布式架构,统一配置中心,服务治理.fegin(RPC)内部调用,微服务管理开发更便捷!
- 统一API网关、访问鉴权、接口管理、参数验签、接口调用更安全!
- 深度整合SpringSecurity+Oauth2,统一认证协议、url级鉴权、更细粒度、灵活的ABAC权限控制!
- 前后端分离方式开发应用,分工合作更高效!
- 代码合理封装、简单易懂、简化开发流程!
开发平台门户预览
运营管理后台预览
- 后台默认账号:admin 123456
- 后台测试账号:test 123456
- SpringBootAdmin账号:sba 123456
更新日志
v-3.0.0 2019-07-19 1. 增加open-cloud-generator-server 在线代码生成器 2. docs/sql/data/日期.sql 增量数据 v-3.0.0 2019-07-11 (重大更新) 1. 新增开发者管理 2. 调整项目结构 3. 优化ui交互方式 4. 调整部分代码 5. 升级方式 + 升级前注意对老数据进行备份 + 重新导入common.propertis到配置中心 + 重新执行 2019-07-19.sql oauth2.sql gateway.sql msg.sql 并手动删除无效表名 v-2.1.0 2019-06-10 1. base_api表新增字段is_open是否公开访问: 0-内部的 1-公开的 2. 更新base_api数据 v-2.1.0 2019-05-26 (重大变更) 1. 重新梳理base表结构和权限相关接口,解决用户和客户端动态分配权。 机制问题暂不支持用户动态分配角色,需重新登录获取最新角色 2. 优化页面功能 3. 升级nacos客户端版本.支持1.0.0以上版本 5. 完善权限数据,去除外键约束. 6. 升级方式更新ui和服务代码, 重新执行base.sql。手动删除无效表 7. 移除app-admin模块 相关功能迁移到opencloud-auth-provider中 v-2.0.0 2019-05-01 1. 升级SpringCloud Greenwich.SR1,SpringBoot 2.1.4.RELEASE 2. 重构项目结构 3. 优化Zuul网关性能 4. 增加官方SpringCloudGateway 5. 迁移Gateway功能到base服务中 6. 增加MybatisPlus 7. 使用.yml代替.properties v-1.0.0 2019-03-18 1. 重构项目结构 2. 重构表结构 3. 重构授权逻辑 4. 提取公共配置,并迁移到Nacos配置中心 5. 优化功能
系统结构图
功能介绍
服务端源码
码云 github
vue后台UI源码
后台UI源码
vue门户UI源码
门户UI源码
使用手册
使用手册
代码结构
open-cloud├── docs -- 文档及脚本 ├── bin -- 执行脚本 ├── config -- 公共配置,用于导入到nacos配置中心 ├── sql -- sql文件 ├── data -- 增量数据 ├── components -- 公共组件 ├── open-cloud-common-core -- 提供微服务相关依赖包、工具类、全局异常解析等 ├── open-cloud-common-starter -- SpringBoot自动配置扫描 ├── open-cloud-tenant-starter -- 多租户模块,多数据源自动切换(完善中...) ├── open-cloud-java-sdk -- 开放平台api集成SDK(完善中...) ├── platform -- 平台服务 ├── open-cloud-api-spring-server -- API开放网关-基于SpringCloudGateway[port = 8888](暂不推荐.功能暂不完善) ├── open-cloud-api-zuul-server -- API开放网关-基于Zuul[port = 8888](推荐.功能完善) ├── open-cloud-base-client -- 平台基础服务接口 ├── open-cloud-base-server -- 平台基础服务器[port=8233] ├── open-cloud-uaa-admin-server -- 平台用户认证服务器[port = 8211] ├── open-cloud-uaa-portal-server -- 门户开发者认证服务器[port = 7211] ├── open-cloud-generator-server -- 在线代码生成服务器[port = 5555] ├── services -- 通用微服务 ├── open-cloud-msg-client -- 消息服务接口 ├── open-cloud-msg-server -- 消息服务器[port = 8266] ├── open-cloud-task-client -- 任务调度接口 ├── open-cloud-task-server -- 调度服务器[port = 8501] ├── open-cloud-bpm-client -- 工作流接口 ├── open-cloud-bpm-server -- 工作流服务器[port = 8255] ├── open-cloud-sba-server -- SpringBootAdmin监控服务[port = 8849] ├── open-cloud-sso-ui-demo -- SSO单点登录演示demo[port = 8849]
快速开始
上手难度:★★★★
本项目基于springCloud打造的分布式快速开发框架. 需要了解SpringCloud,SpringBoot开发,分布式原理。
- 准备环境
- Java1.8 (v1.8.0_131+)
- Nacos服务发现和注册中心(v1.0.0+) 阿里巴巴nacos.io
- Redis (v3.2.00+)
- RabbitMq (v3.7+)(需安装rabbitmq_delayed_message_exchange插件 下载地址)
- Mysql (v5.5.28+)
- Maven (v3+)
- Nodejs (v10.14.2+)
- 执行创建数据库open-platform并执行sql脚本
- docs/sql/oauth2.sql
- docs/sql/base.sql
- docs/sql/gateway.sql
- docs/sql/msg.sql
- docs/sql/quartz.sql && task.sql ...
- 启动nacos服务发现&配置中心,新建公共配置文件
- 访问 http://localhost:8848/nacos/index.html
- 新建配置文件 ```
- 项目目录/docs/config/db.properties > db.properties
- 项目目录/docs/config/rabbitmq.properties > rabbitmq.properties
- 项目目录/docs/config/redis.properties > redis.properties
- 项目目录/docs/config/common.properties > common.properties
- 如图:
- 修改主pom.xml
- 初始化maven项目
maven clean install
- 本地启动,默认不用修改
127.0.0.1:8848127.0.0.1:8848
- 本地启动(按顺序启动)
- [必需]BaseApplication(平台基础服务)
- [必需]UaaAdminApplication(平台用户认证服务器)
- [必需]ApiGatewayZuulApplication(推荐)或ApiGatewaySpringApplication(暂不推荐)
访问 http://localhost:8888
- 4.[非必需]SpringBootAdmin(监控服务器)(非必需)
访问 http://localhost:8849
- 前端启动
npm install npm run dev
- 访问 http://localhost:8080
- 项目打包部署
- maven多环境打包,并替换相关变量
mvn clean install package -P {dev|test|online}
- 项目启动
./docs/bin/startup.sh {start|stop|restart|status} open-cloud-base-server.jar./docs/bin/startup.sh {start|stop|restart|status} open-cloud-uaa-admin-server.jar./docs/bin/startup.sh {start|stop|restart|status} open-cloud-api-zuul-server.jar
git地址:https://gitee.com/liuyadu/open-cloud