# xiaoxiao-cloud **Repository Path**: fireCrotch/xiaoxiao-cloud ## Basic Information - **Project Name**: xiaoxiao-cloud - **Description**: 基于spring-cloud-alibaba的微服务java后端快速开发脚手架 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2025-03-13 - **Last Updated**: 2026-07-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 微服务后端框架 ### 使用到的技术: 1. spring-cloud-alibaba 2. Druid 4. mybatis-plus 5. Sa-Token 6. redisson 7. Spring Cloud Gateway 8. knife4j 9. hutool 10. nacos 11. jdk17 12. openfeign 13. sentinel 14. jobrunr ### 多租户: 1. 注册用户 -> 创建租户 -> 默认成为租户管理员 -> 创建角色 -> 角色设置菜单权限 2. 租户管理员->邀请用户 -> 接受邀请 -> 绑定角色 用户可以属于多个租户 ### 菜单: 菜单分为平台菜单和租户菜单 平台菜单只有平台管理员可见 租户菜单则全体可见 ### 用户: 用户id为1的做为平台管理员,用于平台菜单基本数据维护。 ### 角色: 内置管理员角色,拥有全部租户菜单权限,用户创建后自动获取此角色。 内置普通用户角色,拥有默认的一些菜单权限,用户加入后自动获取此角色。 ### 接口权限: 平台管理员拥有全部接口调用权限。 ### openfeign: openfeign被调用服务方法若抛出自定义异常,则调用方会自动捕获且重新向上抛出并被全局异常处理捕获。 openfeign调用的接口对应的controller方法禁止被前端调用,除非添加@FeignIgnore注解;方法同样只允许由网关发起调用,不允许单独请求子服务。 ### 乐观锁 由mybatis-plus插件实现 ### 内外网隔离 基于satoken Same-Token 实现的禁止直接访问子服务接口,必须通过网关访问 ### 文件上传 目前只集成了alioss和minio,可自行添加其他存储方式,调用文件上传接口后,返回文件相对路径,并保存值相关业务表对应字段,前端调用文件下载接口获取绝对路径。 ### 关键配置: TokenSkipUrlConfig里面配置不需要检查登录状态的路径 TenantIgnoreTableConfig里面配置不需要进行租户管理的表 StpInterfaceImpl用户权限初始化 @SaCheckSafe注释到接口方法上启动二级认证 ### maven: common-base,common-common可以被其他模块引用,但是不可以引用其他模块。 其他common-模块只可以引用common-base,common-common。 common-framework可以引用其他任何common-模块。 common-common只可以引用common-base。 common-common不可被gateway引用。 层级关系由低到高为 common-base < common-common < 其他common-