XueYi-MultiSaas是一个基于SpringBoot、SpringCloud及阿里巴巴中间件、Mybatis-Plus、Vue3、vite2、TypeScript和Ant-Design-Vue UI的多租户SaaS开发框架。它主要关注以下几个关键特性:
1. **多重隔离控制**:
- 物理隔离:框架提供物理层面的隔离,确保不同租户的数据安全,避免数据交叉污染。
- 逻辑隔离:通过动态多源策略,可以根据租户的不同需求动态调整数据源,实现逻辑上的隔离。
2. **动态多源策略**:
- 支持动态源的增减,使得系统的扩展性和灵活性更高。
- 租户可以根据自身的业务需求,自动识别并切换到相应的数据源,简化了开发和运维。
3. **租户控制优化**:
- 提供多种租户模式,如通用数据、混合租户和独立租户,能自动拦截请求,使开发过程中无需关注这些细节。
- 权限控制方面,支持部门、岗位和用户的多级权限管理,同样实现了自动拦截和无感知的权限控制。
4. **菜单配置**:
- 可以灵活配置租户菜单,支持混合模式,有助于个性化用户体验。
5. **组织管理优化**:
- 提供完善的组织架构管理和操作逻辑,便于企业级应用的组织结构管理。
6. **微聚合多前端**:
- 采用公共组件和抽离,降低系统重复代码,提高开发效率和维护性。
系统需求方面,XueYi-MultiSaas需要以下基础环境:
- JDK 17或更高版本
- MySQL 8.0及以上版本
- Redis 3.0及以上版本
- Maven 3.0及以上版本
- Node.js 16及以上版本
- Nacos 2.0.0及以上版本
- Sentinel 1.6.0及以上版本
项目的打包分为后端和前端两部分:
4.1 **后端打包**
- 建议使用IDEA或Eclipse的Maven命令行工具进行打包,`mvn clean package`命令用于构建,但有时可能会遇到跨模块打包问题,最终生成的jar或war文件存放在`xueyi/xueyi-xxxx/target`目录下。
4.2 **前端打包**
- 使用npm构建工具,执行`npm run build:prod`命令打包前端资源,打包完成后,静态文件(如.js、.css、index.html)将被生成在各模块的`dist`目录中。
综上,XueYi-MultiSaas是一个高度集成且具有多租户特性的企业级应用开发框架,适用于需要处理多租户场景,注重隔离、权限管理和前端效率的企业应用开发。通过其提供的特性,开发者可以专注于核心业务逻辑,而框架会自动处理很多底层的复杂性。