|
@@ -0,0 +1,100 @@
|
|
|
|
|
+# 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 文件。
|