# ShadowSmartMicros **Repository Path**: djsijdbxbsjs/shadow-smart-micros ## Basic Information - **Project Name**: ShadowSmartMicros - **Description**: 精简的微服务项目,网关,nacos,openfein,rabbitMq等,集合多年正在使用的开发工具 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-09-12 - **Last Updated**: 2025-08-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Shadow Smart Micros 项目文档 ## 项目概述 Shadow Smart Micros 是一个基于微服务架构的综合项目,包含多个模块,如 Nacos、Sentinel、微信快速启动、网关、通用工具等。该项目旨在提供一个可扩展的微服务解决方案,支持服务发现、配置管理、服务治理、安全控制等功能。 ### 主要模块 - **shadow-admin**:提供管理后台功能,包含微信接口、测试接口等。 - **shadow-common**:包含多个通用模块,如核心工具类、MyBatis Plus 工具类、Redis、RabbitMQ、OpenFeign 等。 - **shadow-demo**:演示模块,包含网关测试接口。 - **shadow-gateway**:网关模块,集成服务降级、限流等功能。 - **shadow-generator**:代码生成模块。 - **shadow-nacos**:集成 Nacos 作为服务注册与配置中心。 - **shadow-sentinel**:集成 Sentinel 实现服务限流、降级等治理功能。 ## 安装与部署 ### 环境要求 - JDK 8 - Maven 3.x - Git - Nacos 服务(需自行下载源码并打包) - Sentinel(需自行下载源码并打包) ### 构建项目 1. 克隆项目: ```bash git clone https://gitee.com/djsijdbxbsjs/shadow-smart-micros.git ``` 2. 进入项目目录并构建: ```bash cd shadow-smart-micros mvn clean install ``` ### 启动模块 #### 启动 Nacos 1. 进入 `shadow-nacos` 模块: ```bash cd shadow-nacos ``` 2. 启动 Nacos: ```bash mvn spring-boot:run ``` #### 启动 Sentinel 1. 进入 `shadow-sentinel` 模块(假设存在): ```bash cd shadow-sentinel ``` 2. 启动 Sentinel: ```bash mvn spring-boot:run ``` #### 启动 Admin 模块 1. 进入 `shadow-admin` 模块: ```bash cd shadow-admin ``` 2. 启动 Admin: ```bash mvn spring-boot:run ``` #### 启动 Gateway 模块 1. 进入 `shadow-gateway` 模块: ```bash cd shadow-gateway ``` 2. 启动 Gateway: ```bash mvn spring-boot:run ``` ## 使用说明 ### 微信快速启动 `shadow-common-fastboot-weixin` 模块提供了微信快速启动功能,包含微信消息处理、菜单按钮、二维码等功能。 #### 示例:处理微信文本消息 ```java @WxMessageMapping(type = WxMessage.Type.TEXT) @WxAsyncMessage public String text(WxRequest wxRequest, String content) { return "收到文本消息:" + content; } ``` ### 服务限流与降级 `shadow-gateway` 模块集成了 Sentinel,用于实现服务限流与降级。 #### 示例:限流配置 ```java @GetMapping("/test/hello") @SentinelResource(value = "/api/gateway/test/hello", blockHandler = "getOrderNoBlockHandler", blockHandlerClass = GateWayDemoController.class) public R getHello() { return R.ok("Hello World"); } public static String getOrderNoBlockHandler(Exception e) { return "服务降级处理"; } ``` ### 服务注册与发现 `shadow-nacos` 模块集成了 Nacos,用于服务注册与发现。 #### 示例:服务注册 ```java @SpringBootApplication @EnableDiscoveryClient public class ShadowAdminApplication { public static void main(String[] args) { SpringApplication.run(ShadowAdminApplication.class, args); } } ``` ### 数据库操作 `shadow-common-mybatis-plus` 模块提供了 MyBatis Plus 工具类,简化数据库操作。 #### 示例:查询数据 ```java @Service public class TestDemoWxServiceImpl extends ServiceImpl implements ITestDemoWxService { public TestDemoWxEntity getWxEntityById(String id) { return getById(id); } } ``` ## 贡献指南 欢迎贡献代码和文档。请遵循以下步骤: 1. Fork 项目。 2. 创建新分支。 3. 提交代码。 4. 创建 Pull Request。 ## 许可证 本项目采用 Apache-2.0 许可证。详情请参阅 [LICENSE](LICENSE) 文件。