# Base-Platform-Server **Repository Path**: LateWinter/Base-Platform-Server ## Basic Information - **Project Name**: Base-Platform-Server - **Description**: springboot后台管理系统,基于shiro or auth2认证 1.redis单机、哨兵、集群统一配置 2.接口内容非对称加解密 3.使用注解方式进行接口版本控制 4.提供动态注入数据源方法、查看当前所有数据源,与主数据源,后期可扩展多租户 - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-07-10 - **Last Updated**: 2022-02-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # springboot脚手架 ## 一、项目介绍 基于日常项目开发积累,划分 Web PC 前端、后端 和 移动端 三个脚手架,同时提供基于改脚手架的代码生成器,旨在利用成熟方案快速实践,避免重复开发。利用代码生成器,使用统一的编码规范。 - 前端脚手架 - element-ui 版 - 后端脚手架 - mybatis-plus 版 - 移动端脚手架 - uni-app 版 - 基于脚手架的代码生成器 ## 二、项目结构及说明 ### 1、前端脚手架 前端脚手架基于 开源框架 [vue-element-admin](https://github.com/PanJiaChen/vue-element-admin) 开发,遵循其开发规范和编码风格。目录结构如下: ```text scaffolding-front-pc build mock public src api // 放 API, 按 模块名/功能名.js asserts compponents // 通用组件 directice // 指令,如权限指令(可分按角色、按权限标识) filters // 过滤器,可用于数据格式化 icon // 自定义 icon layout router // 需支持 动态路由 和 mock 或 静态路由 store styles utils // 通用工具类 vendor views // 业务视图,按 模块名划分 + components (业务相关通用组件)等 App.vue main.js // 全局注册 permission.js // 前端路由权限控制 setting.js // 设置默认风格,可扩展后端支持配置 ``` 脚手架除了支持上述开源框架默认支持的:国际化、动态路由、权限验证和业务模型及功能组件外,还会支持:基础权限功能(人员、角色、资源、权限分配、字典表)、扩展组件支持(组合查询组件、下拉、复选、单选、表格、表单等封装),形成标准规范、简化编码。 ### 2、后端脚手架 [教程](http://192.168.10.120:8000/zh/guide/notes/service-use-guide.html#%E8%AF%B4%E6%98%8E/) 后端脚手架基于 开源框架 [MyBatis-Plus](https://mp.baomidou.com/) 开发,多模块开发,方便维护,提高复用性。划分目录如下: ```text sudu-common-parent // 业务相关 通用类 封装,如:GIS 行业相关,工具类封装等,可独立使用 sudu-framework-parent // 基础框架,提供统一数据封装支持,引用即可完成标准功能开发 sudu-permission-shrio-parent // 基于 shrio 权限开发,多模块划分,方便后续扩展 auth2.0 / sso 支持 sudu-admin-base // 与业务相关的基础功能封装,如配置类、工具类 sudu-admin-domain // entity / dto / po 等类 sudu-admin-dao // dao层接口和mapper文件 sudu-admin-service // 基础服务,满足基础CRUD和默认属性设置功能 sudu-admin-manager // 第三方服务封装 + 基础服务(service)组合使用封装 sudu-admin-web // api 层,针对 PC, admin sudu-admin-mobile // 预留,针对 mobile sudu-admin-wechat // 预留 sudu-permission-auth-parent // 预留,针对auth / sso / security 等实现 // 扩展思路:与sudu-admin-web一样,引用 service、manager 层,重写 web 层即可 ``` ### 3、uni-app脚手架 支持公众号、微信小程序、混合App和H5开发,目前暂时无计划。 `` ## 三、使用说明 ### 1、前端脚手架 **提示**:为规范接口使用,api 包统一按模块存放接口,可直接引入使用;同时一些系统级别的业务,诸如:角色、资源、消息等等,需要统一数据状态的,则建议使用 store维护一致性。不建议直接在业务中直接使用 axios 和 写具体 URL (封装组件除外)。 ### 2、后端脚手架 [教程](http://192.168.10.120:8000/zh/guide/notes/service-use-guide.html#%E8%AF%B4%E6%98%8E/) **提示**:根据高内聚、低耦合原则, service 层,同模块内部可以依赖(同层不可互相调用)。但跨模块需放到manager层,针对service进行组合使用,注意事务一致性,同数据源在 Manager实现类上增加DS注解,不同数据源需要考虑事务补偿机制(若未使用分布式事务)。 ### 3、代码生成器 [教程](http://192.168.10.120:8000/zh/guide/notes/service-use-guide.html#%E5%85%AD%E3%80%81%E4%BB%A3%E7%A0%81%E7%94%9F%E6%88%90%E5%99%A8%E4%BD%BF%E7%94%A8) 1. 前端支持生成 - [x] api 按 模块 生成, store 可选择使用 - [x] 基础 table + form + detail (基础表格、表单、详情)界面 - [ ] 可视化方式(计划支持上述标准界面、图表、GIS) - [ ] 前端工程脚手架(element-ui、ant design 等等) 2. 后端支持生成 - [x] 基础CRUD代码 - [x] 单元测试代码 - [ ] Mock 数据 - 辅助自动化测试 - [ ] 后端工程脚手架(支持下载自动分包) **注意**:中间表的代码只需使用Dao、Mapper、entity 即可。 ## 参考规范 - [vue-element-admin](https://panjiachen.gitee.io/vue-element-admin-site/zh/) 提供 api、store、基础界面、组件封装 的使用和命名等规范。 - 后端主要参考 [阿里巴巴 Java开发手册](https://download.csdn.net/download/heidashou/12367433)、[Google Java编码规范指南](https://download.csdn.net/download/jihong10102006/9985882)。