# fool-parent **Repository Path**: shtopcheer/fool-parent ## Basic Information - **Project Name**: fool-parent - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2020-09-10 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 简介 本工程分为单机版和微服务版 ### 单机 适用于项目结构不复杂、设计相对简单、扩展要求不高的项目 `fool-stondlone`是一款基于SpringBoot+代码生成器的快速开发平台!采用前后端分离架构:SpringBoot,Mybatis,JWT,Vue&ElementUI。 构建宗旨:使用尽量少、通用的组件框架进行构建、简单功能由在线coding的配置实现(在线表单配置、在线流程配置(待开发)、在线报表配置(待开发)),简单功能生成,复杂功能生成后手工merge,灵活并节省了部分工作量 #### 技术栈 ``` 后端技术: SpringBoot_2.2.2.RELEASE + Mybatis-plus_3.1.2 + Shiro_1.4.0 + Jjwt_0.9.0 + Swagger-ui + Redis +UidGenerator 前端技术: ElementUI + Vue + Webpack 其他技术: Druid(数据库连接池)、Logback 、poi lombok(简化代码) 项目构建: Maven、Jdk8 ``` #### 功能模块 1. 权限模块:使用rbac模型进行搭建,主要分为了 用户、角色、java访问权限、菜单权限、页面要素权限、数据权限、机构、部门几部分 - 部门分为通用部分和自定义部分,自定义部门和机构关联 ,用户关联机构后,可以挂载通用部分和该机构下属部门 - 用户只属于一个机构、一个部门 - 一个用户可以有多个角色,登陆时显示默认角色对应的权限信息,登陆后可以切换角色 - 角色对应四种不同的权限:菜单为登陆时菜单展示使用,java访问权限为调用后台API权限,页面要素权限控制当前视图展示的按钮,数据权限控制数据的展示 - 工程启动时,读取DispatcherServletsMappingDescriptionProvider信息 并对java权限列表进行更新或者插入,该功能默认不开启 如需开启 启动类上添加@EnableAuthOperation即可 在类或者方法上添加@IngoreAuth 可以进行豁免 - 数据权限默认分为四类:全部(ALL),辖内(MGR),本部门(DEPT),自己(MY),通过@DataAuth进行传参并追加SQL ![](rbac.png) 2. 定时任务 对spring-schedule进行扩展,以满足定时任务从数据库的CRUD 、生效、暂停等操作 3. 在线开发 - 在线表单开发:支持页面建表、导入并定义页面的展示要素等操作,参考自jeecgboot ![](coding-add.png) ![](coding-generator.png) - 在线报表开发:支持sql录入,映射配置、测试等功能 ![](report-add.png) 4. 监控模块 主要分为系统类监控和业务类监控,使用Springboot-actuator进行采集、扩展,使用prometheus对数据进行增强、存储并通过granfana展示 业务类监控 通过metris的标准进行生产 ![](granfana.png) ### 微服务 通过SpringCloud-Gateway、Nacos、OpenFeign、sentinel、进行构建 工程示例如下 ``` fool-parent - fool-common - fool-common-base - fool-common-datasource - fool-common-api-base - fool-common-datasource - fool-common-loadbalance - fool-provider-rbac - fool-provider-schedule - fool-provider-auth - fool-auth-server - fool-auth-client - fool-auth-common - fool-provider-tx - fool-provider-system - fool-provider-thirdparty - fool-thirdpart-jpush - fool-thirdpart-oss - fool-provider-business - fool-provider-gateway - fool-gateway-server - fool-geteway-admin - fool-provider-monitor - fool-monitor-server - fool-monitor-client ``` ### 组件 1. uid-spring-boot-starter 基于百度的uidgenerator进行封装,加载即生效 目前支持mysql、oracle 2. cloud-common-base 基本功能sdk 包括了基类、工具类、异常相关 3. cloud-common-auth 权限校验sdk 4. cloud-common-api-base 微服务组件相互调用DO类 5. cloud-common-datasource 数据源路由sdk 6. cloud-common-loadbalance 负载均衡常用类 7. distributed-spring-boot-starter 提供分布式相关帮助:限流、锁 支持redis、zk (待完善) ### Roadmap #### 单机 1. 在线coding功能开发 2. 相关测试bug修复 #### 微服务 - gateway-admin 基于页面控制 对路由进行管理 - sentinel集成 - monitor - tx - k8s支持