Libra-Platform微服务平台基于SpringCloud(2020.0.x)+SpringCloudAlibaba(2021.x)+SpringBoot

259 阅读5分钟

Libra-Platform 微服务平台

Gitee仓库地址:gitee.com/huangfubin/…

Github仓库地址:github.com/hfbin/Libra…

在线体验

www.librayun.net:8888/

目前Libra-Platform微服务平台,已开源。基于SpringCloud(2020.0.x) + SpringCloudAlibaba(2021.x) + SpringBoot(2.4.x) + Vue3开发,基于多租户SaaS模式的设计,拥有强大的用户中心,权限基于RBAC设计。Libra-Platform平台架构清晰、代码简介、注解齐全,很适合作为基础框架使用。相关功能如下:

相关功能

请添加图片描述

总体架构图

在这里插入图片描述

模块说明

libra-platform -- 父项目
│  ├─libra-auth -- 认证授权服务
│  │─libra-common -- 公共工具父级
│  │  ├─libra-common-log -- 封装log相关
│  │  ├─libra-common-mq -- 封装MQ相关操作
│  │  ├─libra-common-mybatis -- 封装mybatis相关配置
│  │  ├─libra-common-redis -- 封装Redis相关操作逻辑
│  │  ├─libra-common-security -- 用户鉴权相关处理
│  │  ├─libra-common-springcloud -- 微服务相关组件引用及配置
│  │  ├─libra-common-swagger -- Swagger+Knife4j整合
│  │  ├─libra-core -- 相关公共工具代码封装
│  ├─libra-gateway -- 网关SpringCloud-Gateway
│  ├─libra-service -- 业务服务父级
│  │  ├─libra-ucpm -- 用户中心权限菜单服务
│  │  ├─libra-base -- 基础服务
│  │  ├─libra-gen -- 代码生成服务
│  │  ├─libra-tenant -- 租户服务

相关工具截图

APM Skywalking

拓扑图 请添加图片描述 仪表盘 在这里插入图片描述 调用链路在这里插入图片描述

Sentinel 熔断限流

在这里插入图片描述

Prometheus + Grafana 监控

服务监控 在这里插入图片描述 更多监控后续完善,敬请期待

Libra-Platform 功能说明

租户配置

租户配置包括了两块内容,租户管理和菜单模板。租户管理主要用来创建租户。菜单模板用来配置租户菜单权限模板,此模块的设计主要为了达到不通的租户等级可以配置不通的租户菜单。

租户管理

租户管理功能包括新增、查询、修改、禁用等功能。

  • 新增租户时候默认会初始化租户默认部门、默认角色、管理员账号等相关信息(注意:默认的数据在系统是无法操作的,相关的界面及接口都做了判断)
  • 特别说明租户编码是作为整个系统数据隔离的重要字段,一旦创建不建议修改,如果要修改需要将相关表的租户字段更新为最新的租户编码,后续作为扩展功能完善
租户列表请添加图片描述
新增租户

请添加图片描述

菜单模板

菜单模板功能包括新增、查询、修改、权限同步等功能。

  • 菜单模板修改时候不会将关联此菜单模板的租户权限同步到默认角色里,需要另外操作一下权限同步功能,将此菜单权限同步到租户管理员角色
菜单模板列表

在这里插入图片描述

新增菜单模板在这里插入图片描述

组织管理

租户配置包括了员工管理、部门管理、角色管理、岗位管理

员工管理

员工管理功能包括新增、查询、修改、重置密码,删除等功能。

  • 新增员工的账号和手机号做为账号的唯一标识,部门和角色为必填
  • 默认的部门
员工管理列表
新增员工在这里插入图片描述

部门管理

部门管理功能包括新增、查询、修改、删除等功能。

  • 当部门有关联了用户对应的部门是无法删除
  • 系统默认部门无法删除,可修改,创建租户时候默认以租户名称创建默认部门
部门管理列表

在这里插入图片描述

角色管理

角色管理功能包括新增、查询、修改、删除等功能。

  • 角色组及角色在创建租户时候会默认创建,对应的权限无法编辑及删除
角色管理列表

在这里插入图片描述

岗位管理

岗位管理功能包括新增、查询、修改、删除等功能。

岗位管理列表

在这里插入图片描述

系统设置

系统设置包括了菜单管理、接口管理、版本管理、终端管理、操作日志、登录日志

菜单管理

菜单管理功能包括新增、查询、修改、删除、接口权限配置等功能。

  • 接口权限配置是用来做接口管理的接口绑定,后端在验证接口权限鉴权时候使用此关联关联数据做校验。此模块设计初衷,当业务线较为复杂时候很多接口会在不同功能模块调用,此时就可以灵活配置接口权限了
菜单管理列表

在这里插入图片描述

新增菜单

在这里插入图片描述

接口权限配置

在这里插入图片描述

接口管理

接口管理功能包括新增、查询、修改、删除等功能。

接口管理列表

在这里插入图片描述

应用管理

应用管理功能包括新增、查询、修改、删除等功能。

  • 菜单模块与接口模块需要与应用关联,在不用的应用端只会返回对应端菜单
应用管理列表在这里插入图片描述

操作日志

操作日志模块目前只提供两种类型,操作日志及登录日志,如果需要扩展可对libra-common-log组件进行类型扩展。

操作日志列表在这里插入图片描述

开发工具

开发工具模块包括数据源管理、代码生成、版本管理。

数据源管理

提供不同数据源配置便捷代码生成模块 在这里插入图片描述

代码生成

可切换不同数据源生成代码,代码生成会生成前端页面代码、后端代码、菜单接口sql 在这里插入图片描述

版本管理

版本管理模块的主要目的是在迭代推进的过程中我们菜单和接口可能一直在变,此时在切到对应环境时候无需重新添加菜单及接口,此模块会提供一个一键导出当前版本菜单及接口变动的sql文件。

版本管理列表在这里插入图片描述