# cloud-gallery-backend **Repository Path**: wangchaocheng/cloud-gallery-backend ## Basic Information - **Project Name**: cloud-gallery-backend - **Description**: 一个在线智能云图库平台 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-02-18 - **Last Updated**: 2025-04-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 智能协同云图库项目文档 [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![Sa-Token](https://img.shields.io/badge/Sa--Token-1.40.0-green)](https://sa-token.cc) [![Spring Boot](https://img.shields.io/badge/Spring%20Boot-2.x-brightgreen)](https://spring.io/projects/spring-boot) ## 项目介绍 一个采用 `COLA` 应用架构,基于 `Spring Boot` + `Sa-Token` + `MyBatis` + `WebSocket` + `Minio` + `Redis` 技术实现的智能协同云图库项目。 支持`RBAC 动态权限`。 本项目在架构上采用了 `COLA` 应用架构,`COLA` 的最佳实现参考:https://blog.csdn.net/significantfrank/article/details/110934799?spm=1001.2014.3001.5502 。 ## 项目初始化 ## 📋 目录 - [技术栈](#-技术栈) - [核心特性](#-核心特性) - [快速开始](#-快速开始) - [相关文档](#-相关文档) --- ## 🛠 技术栈 | 模块 | 技术选型 | |--------------|--------------------------------| | **认证框架** | Sa-Token 1.37.0 | | **后端框架** | Spring Boot 2.x + MyBatis-Plus | | **数据库** | MySQL 8.0 + Redis 7.x | | **部署工具** | Docker + Kubernetes | --- ## 🚀 核心特性 - **RBAC 权限控制**:动态分配角色权限,支持接口级细粒度鉴权。 - **分布式会话**:Redis 缓存 Token 与权限信息,支持高可用集群。 - **安全增强**:二级认证、同端互斥登录、密码加密存储。 --- ## ⚡ 快速开始 ### 环境要求 - JDK 11+ - MySQL 8.0 - Redis 7.x ### 配置步骤 1. **克隆仓库**: ```bash git clone https://github.com/your-repo/sa-token-multi-tenant.git ### 开发规范 #### Flyway migrations 文件命名规范 下图为官方的 Flyway migrations 文件命名规范,本节主要在官方的基础上约定描述信息的命令规范。 ![img.png](./builder/document/images/Flyway文件格式.png) * 前缀: V 代表版本变迁(Versioned Migrations), U 代表撤销变迁(Undo Migrations), R 代表可重复变迁(Repeatable Migrations) * 版本号: 唯一的版本号,比如V1.0.1 * 分隔符: __ (两个下划线) * 描述信息: 约定:[类型]_[操作]_[对象],例如:ddl_init_user_module 代表初始化用户模块的DDL。 * 类型:ddl 或 dml,代表数据定义语言(Data Definition Language)或数据操作语言(Data Manipulation Language) * 操作:init、create、alter、drop、insert、update、delete代,表具体的变更操作 * 对象:表名或模块名,如user_module、user_table * 后缀: .sql ## 🔗 相关文档 * [COLA 的最佳实现](https://blog.csdn.net/significantfrank/article/details/110934799?spm=1001.2014.3001.5502) * [Sa-Token 参考文档](https://sa-token.cc/doc.html) * [万字长文:深入浅出RBAC权限设计](https://www.woshipm.com/pd/5576757.html) * [数云融合 | 一文让你弄懂多租户数据库设计⽅案](https://www.bilibili.com/opus/751756771784130610) * [深入解析RBAC模型的数据库设计方案](https://blog.csdn.net/takumilove/article/details/142791504) * [SpringBoot集成Flyway](https://developer.aliyun.com/article/1289703) * [Web 实时消息推送详解](https://javaguide.cn/system-design/web-real-time-message-push.html) * [秒懂消息队列MQ,万字总结带你全面了解消息队列MQ](https://developer.aliyun.com/article/953777) * [对话即服务:Spring Boot整合MCP让你的CRUD系统秒变AI助手](https://developer.aliyun.com/article/1657752?scm=20140722.ID_community%40%40article%40%401657752._.ID_community%40%40article%40%401657752-OR_rec-PAR1_0b16398317434933653176064e5ee8-V_1-RL_community%40%40article%40%401489916) * [RBAC 和 ABAC:你应该了解的访问控制模型](https://blog.logto.io/zh-CN/rbac-and-abac)