# springcloud-demo **Repository Path**: cocoknight/springcloud-demo ## Basic Information - **Project Name**: springcloud-demo - **Description**: springcloudalibaba demo - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-31 - **Last Updated**: 2025-08-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SpringCloud Demo 项目说明 这是一个基于 SpringCloud 的微服务项目,包含了服务注册发现、网关、鉴权、数据访问等模块,适用于学习和演示微服务架构的常见功能。 ## 项目结构 - **app / app02**:基础服务模块,提供启动类和 RestTemplate 配置。 - **auth**:鉴权模块,包含用户、角色、登录等基础权限管理功能。 - **data**:数据访问模块,封装了 MyBatis Plus 的通用操作、分页、工具类等。 - **entity**:实体类模块,定义了数据库实体、枚举、通用返回类等。 - **gateway**:网关模块,使用 SpringCloud Gateway 实现路由和权限控制。 - **visit.db**:SQLite 数据库文件。 ## 技术栈 - Spring Boot / Spring Cloud - Spring Cloud Gateway - MyBatis Plus - Sa-Token(鉴权框架) - SQLite(轻量数据库) ## 快速启动 1. 确保已安装 JDK 1.8+、Maven。 2. 安装 Sa-Token 依赖(如未自动引入)。 3. 使用 Maven 构建项目: ```bash mvn clean install ``` 4. 启动服务: - 启动 Nacos 或其他注册中心。 - 启动 `gateway/GatewayApplication.java`。 - 启动 `app/App01Start.java` 和 `app02/App02Start.java`。 - 启动 `auth` 模块相关服务。 ## 使用说明 ### 登录接口 ```http POST /auth/login Content-Type: application/json { "username": "your-username", "password": "your-password" } ``` ### 获取用户信息 ```http GET /user/get/1 Authorization: Bearer your-token ``` ### 分页查询用户列表 ```http POST /user/list Authorization: Bearer your-token Content-Type: application/json { "current": 1, "size": 10 } ``` ## 鉴权说明 使用 Sa-Token 实现权限控制,部分接口需要特定角色访问,例如: - `@SaCheckPermission(orRole = {"super-admin"})`:仅限超级管理员访问。 ## 数据库初始化 项目使用 SQLite 数据库,位于 `visit.db` 文件中。初始化脚本位于 `data/src/main/resources/sqlite.sql`。 ## 扩展建议 - 添加新的微服务模块。 - 扩展鉴权模块,支持更多角色和权限。 - 使用 MySQL 或 PostgreSQL 替代 SQLite。 - 增加服务熔断、限流、链路追踪等微服务功能。 ## 贡献代码 欢迎提交 PR,建议遵循如下流程: 1. Fork 项目。 2. 创建新分支。 3. 提交代码。 4. 提交 PR 并说明修改内容。 ## 许可证 本项目采用 MIT 许可证,详见 LICENSE 文件。