# cloud **Repository Path**: hxf88/cloud ## Basic Information - **Project Name**: cloud - **Description**: 算法小生 示例代码! - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2023-11-20 - **Last Updated**: 2026-06-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 公众号 《算法小生》 CSDN 《算法小生Đ》 # Cloud 云平台后端服务项目 - 基于 Spring Boot 的微服务架构认证与用户管理后端 API。 ## 项目简介 Cloud 是一个企业级云平台后端服务,采用 Spring Boot 框架构建,提供完整的用户认证、权限管理功能。项目采用微服务架构设计,包含 API 服务、Feign 客户端和公共组件三个模块。 ## 技术栈 - **框架**: Spring Boot 3.x - **持久层**: MyBatis Plus - **安全**: Spring Security + JWT - **服务调用**: Spring Cloud OpenFeign - **API文档**: SpringDoc OpenAPI - **构建工具**: Gradle ## 模块说明 ### api 模块 主业务 API 服务模块,提供 RESTful 接口。 **核心包结构**: - `online.shenjian.cloud.api.config` - 全局配置(安全、异常处理、MyBatis Plus) - `online.shenjian.cloud.api.controller` - REST 控制器 - `online.shenjian.cloud.api.service` - 业务服务层 - `online.shenjian.cloud.api.mapper` - 数据访问层 - `online.shenjian.cloud.api.model` - 数据模型 - `online.shenjian.cloud.api.utils` - 工具类 ### client 模块 Feign 客户端模块,供其他服务调用本系统。 - `CloudClient` - 用户服务 Feign 客户端 - `UserDto` - 用户信息数据传输对象 - `LoginUserDto` - 登录用户信息 - `ResponseVo` - 统一响应结构 ### common 模块 公共工具模块,提供通用的 DTO 转换等功能。 ## 核心功能 ### 用户认证 - 用户登录(JWT Token 方式) - Token 验证与解析 - 基于角色的访问控制(RBAC) ### 全局处理 - 统一响应格式封装 - 全局异常处理 - 请求参数校验 ### API 文档 集成 SpringDoc OpenAPI,自动生成 RESTful API 文档。 ## 快速开始 ### 环境要求 - JDK 17+ - Gradle 8.x ### 构建项目 ```bash # 构建所有模块 ./gradlew build # 运行 API 服务 ./gradlew :api:bootRun ``` ### 配置说明 配置文件位于 `api/src/main/resources/`: - `application.yml` - 主配置 - `application-dev.yml` - 开发环境配置 - `bootstrap.yml` - 引导配置 ### 数据库初始化 执行 SQL 脚本创建用户表: ```bash mysql -u root -p < api/src/main/resources/sql/user.sql ``` ## API 接口 ### 用户登录 ``` POST /api/login Content-Type: application/json { "username": "用户名", "password": "密码" } ``` ### Token 测试 ``` GET /api/testToken Authorization: Bearer ``` ## 响应格式 ```json { "code": 200, "message": "success", "data": {} } ``` ## 安全配置 项目使用 JWT 进行身份认证: - Token 签名密钥可配置 - Token 过期时间可配置 - 支持匿名访问白名单 - 自定义权限拒绝处理 ## 许可证 本项目仅供学习交流使用。