# reduce **Repository Path**: huangjun1/reduce ## Basic Information - **Project Name**: reduce - **Description**: 短链系统 - **Primary Language**: Unknown - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-08-30 - **Last Updated**: 2026-04-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Reduce 短链接管理系统 Reduce 是一个基于 Guns 框架开发的短链接管理平台,采用 Spring Boot 构建,提供完整的短链接创建、管理和统计分析功能。 ## 项目简介 Reduce 是一个企业级的短链接管理系统,支持: - 短链接的创建、编辑、删除和管理 - 短链接访问统计分析(PV/UV) - 多应用管理 - 微信小程序短链接支持 - 访问日志记录 ## 技术栈 - **后端**:Java 11, Spring Boot 2.x - **持久层**:MyBatis-Plus - **数据库**:MySQL - **前端**:Layui, ECharts, TinyMCE - **安全**:JWT Token 认证 ## 项目结构 ``` guns-master/ ├── src/main/java/cn/stylefeng/guns/ │ ├── GunsApplication.java # 应用入口 │ ├── config/ # 配置类 │ │ ├── MapperScanConfiguration # MyBatis Mapper 扫描配置 │ │ └── web/SpringMvcConfiguration # Spring MVC 配置 │ ├── core/ # 核心模块 │ │ ├── consts/ # 常量定义 │ │ ├── error/ # 全局异常处理 │ │ ├── exception/ # 自定义异常 │ │ └── security/ # 安全拦截器 │ └── modular/ │ ├── demo/ # 示例模块 │ ├── shorturl/ # 短链接模块 │ │ ├── controller/ # 控制器 │ │ ├── service/ # 业务逻辑 │ │ ├── mapper/ # 数据访问层 │ │ ├── entity/ # 实体类 │ │ ├── dto/ # 数据传输对象 │ │ └── utils/ # 工具类 │ └── test/ # 测试模块 ├── src/main/resources/ │ ├── application.yml # 应用配置 │ └── db/migration/ # 数据库迁移脚本 └── src/main/webapp/ # 前端资源 ``` ## 核心功能 ### 短链接管理 - 创建短链接,支持自定义短码 - 批量管理短链接 - 启用/禁用短链接 - 链接访问频率控制 ### 应用管理 - 多应用支持,不同应用使用不同的 AppID - 微信小程序应用配置 - 应用状态管理 ### 数据统计 - 访问量(PV)统计 - 独立访客(UV)统计 - 访问日志记录 ## 快速开始 ### 环境要求 - JDK 11+ - MySQL 5.7+ - Maven 3.6+ ### 配置数据库 执行数据库迁移脚本(位于 `src/main/resources/db/migration/mysql/`) ### 修改配置文件 编辑 `src/main/resources/application.yml`,配置数据库连接信息: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/reduce username: root password: your_password ``` ### 编译运行 ```bash mvn clean package java -jar target/guns-master.jar ``` ## API 接口 ### 应用管理 | 接口 | 方法 | 路径 | 说明 | |------|------|------|------| | 保存应用 | POST | /app/save | 创建短链应用 | | 获取应用 | GET | /app/info | 获取应用详情 | | 应用列表 | GET | /app/list | 获取应用列表 | | 删除应用 | POST | /app/del | 删除应用 | | 修改状态 | POST | /app/updateStatus | 修改应用状态 | ### 短链接管理 | 接口 | 方法 | 路径 | 说明 | |------|------|------|------| | 保存短链 | POST | /short/save | 创建短链接 | | 获取短链 | GET | /short/info | 获取短链详情 | | 短链列表 | GET | /short/list | 获取短链列表 | | 删除短链 | POST | /short/del | 删除短链 | | 修改状态 | POST | /short/updateStatus | 修改短链状态 | ### 短链访问 | 接口 | 方法 | 路径 | 说明 | |------|------|------|------| | 访问短链 | GET | /shortUrl | 通过短码访问原始链接 | ## 前端页面 项目包含完整的前端页面,访问以下路径: - 应用管理:`/view/shorturl/appinfo` - 短链管理:`/view/shorturl/shortinfo` - 数据分析:`/view/shorturl/shortinfo` ## 许可证 基于 Guns 开源协议。