2 changed files with 288 additions and 2 deletions
@ -0,0 +1,286 @@ |
|||||
|
<div align="center"> |
||||
|
<h1>🚀 WebSoft API</h1> |
||||
|
<p><strong>基于 Spring Boot + MyBatis Plus 的企业级后端API服务</strong></p> |
||||
|
|
||||
|
<p> |
||||
|
<img src="https://img.shields.io/badge/Java-1.8+-ED8B00" alt="Java"> |
||||
|
<img src="https://img.shields.io/badge/Spring%20Boot-2.5.4-6DB33F" alt="Spring Boot"> |
||||
|
<img src="https://img.shields.io/badge/MyBatis%20Plus-3.4.3-blue" alt="MyBatis Plus"> |
||||
|
<img src="https://img.shields.io/badge/MySQL-8.0+-4479A1" alt="MySQL"> |
||||
|
<img src="https://img.shields.io/badge/Redis-6.0+-DC382D" alt="Redis"> |
||||
|
<img src="https://img.shields.io/badge/License-MIT-blue" alt="License"> |
||||
|
</p> |
||||
|
</div> |
||||
|
|
||||
|
## 📖 项目简介 |
||||
|
|
||||
|
WebSoft API 是一个基于 **Spring Boot + MyBatis Plus** 构建的现代化企业级后端API服务,采用最新的Java技术栈: |
||||
|
|
||||
|
- **核心框架**:Spring Boot 2.5.4 + Spring Security + Spring AOP |
||||
|
- **数据访问**:MyBatis Plus 3.4.3 + Druid 连接池 |
||||
|
- **数据库**:MySQL + Redis |
||||
|
- **文档工具**:Swagger 3.0 + Knife4j |
||||
|
- **工具库**:Hutool、Lombok、FastJSON |
||||
|
|
||||
|
|
||||
|
|
||||
|
## 项目演示 |
||||
|
| 后台管理系统 | https://mp.websoft.top | |
||||
|
|--------|-------------------------------------------------------------------------------------------------------------------------------------| |
||||
|
| 测试账号 | 13800010123,123456 |
||||
|
| 正式账号 | [立即注册](https://mp.websoft.top/register/?inviteCode=github) | |
||||
|
| 关注公众号 |  | |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
## 🛠️ 技术栈 |
||||
|
|
||||
|
### 核心框架 |
||||
|
| 技术 | 版本 | 说明 | |
||||
|
|------|------|------| |
||||
|
| Java | 1.8+ | 编程语言 | |
||||
|
| Spring Boot | 2.5.4 | 微服务框架 | |
||||
|
| Spring Security | 5.5.x | 安全框架 | |
||||
|
| MyBatis Plus | 3.4.3 | ORM框架 | |
||||
|
| MySQL | 8.0+ | 关系型数据库 | |
||||
|
| Redis | 6.0+ | 缓存数据库 | |
||||
|
| Druid | 1.2.6 | 数据库连接池 | |
||||
|
|
||||
|
### 功能组件 |
||||
|
- **Swagger 3.0 + Knife4j** - API文档生成与测试 |
||||
|
- **JWT** - 用户认证与授权 |
||||
|
- **Hutool** - Java工具类库 |
||||
|
- **EasyPOI** - Excel文件处理 |
||||
|
- **阿里云OSS** - 对象存储服务 |
||||
|
- **微信支付/支付宝** - 支付集成 |
||||
|
- **Socket.IO** - 实时通信 |
||||
|
- **MQTT** - 物联网消息传输 |
||||
|
|
||||
|
## 📋 环境要求 |
||||
|
|
||||
|
### 基础环境 |
||||
|
- ☕ **Java 1.8+** |
||||
|
- 🗄️ **MySQL 8.0+** |
||||
|
- 🔴 **Redis 6.0+** |
||||
|
- 📦 **Maven 3.6+** |
||||
|
|
||||
|
### 开发工具 |
||||
|
- **推荐**:IntelliJ IDEA / Eclipse |
||||
|
- **插件**:Lombok Plugin、MyBatis Plugin |
||||
|
|
||||
|
## 🚀 快速开始 |
||||
|
|
||||
|
### 1. 克隆项目 |
||||
|
```bash |
||||
|
git clone https://github.com/websoft-top/mp-java.git |
||||
|
cd mp-java |
||||
|
``` |
||||
|
|
||||
|
### 2. 数据库配置 |
||||
|
```sql |
||||
|
-- 创建数据库 |
||||
|
CREATE DATABASE websoft_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; |
||||
|
|
||||
|
-- 导入数据库脚本(如果有的话) |
||||
|
-- source /path/to/database.sql |
||||
|
``` |
||||
|
|
||||
|
### 3. 配置文件 |
||||
|
编辑 `src/main/resources/application-dev.yml` 文件,配置数据库连接: |
||||
|
```yaml |
||||
|
spring: |
||||
|
datasource: |
||||
|
url: jdbc:mysql://localhost:3306/websoft_db?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8 |
||||
|
username: your_username |
||||
|
password: your_password |
||||
|
redis: |
||||
|
host: localhost |
||||
|
port: 6379 |
||||
|
password: your_redis_password |
||||
|
``` |
||||
|
|
||||
|
### 4. 启动项目 |
||||
|
```bash |
||||
|
# 使用 Maven 启动 |
||||
|
mvn spring-boot:run |
||||
|
|
||||
|
# 或者使用 IDE 直接运行 WebSoftApplication.java |
||||
|
``` |
||||
|
|
||||
|
访问 `http://localhost:9200` 即可看到API服务。 |
||||
|
|
||||
|
### 5. API文档 |
||||
|
启动项目后,访问以下地址查看API文档: |
||||
|
- Swagger UI: `http://localhost:9200/swagger-ui/index.html` |
||||
|
- Knife4j: `http://localhost:9200/doc.html` |
||||
|
|
||||
|
## ⚙️ 配置说明 |
||||
|
|
||||
|
### 数据库配置 |
||||
|
在 `application-dev.yml` 中配置数据库连接: |
||||
|
```yaml |
||||
|
spring: |
||||
|
datasource: |
||||
|
url: jdbc:mysql://localhost:3306/websoft_db |
||||
|
username: root |
||||
|
password: your_password |
||||
|
driver-class-name: com.mysql.cj.jdbc.Driver |
||||
|
``` |
||||
|
|
||||
|
### Redis配置 |
||||
|
```yaml |
||||
|
spring: |
||||
|
redis: |
||||
|
host: localhost |
||||
|
port: 6379 |
||||
|
password: your_redis_password |
||||
|
database: 0 |
||||
|
``` |
||||
|
|
||||
|
### 阿里云OSS配置 |
||||
|
```yaml |
||||
|
config: |
||||
|
endpoint: https://oss-cn-shenzhen.aliyuncs.com |
||||
|
accessKeyId: your_access_key_id |
||||
|
accessKeySecret: your_access_key_secret |
||||
|
bucketName: your_bucket_name |
||||
|
bucketDomain: https://your-domain.com |
||||
|
``` |
||||
|
|
||||
|
### 其他配置 |
||||
|
- **JWT密钥**:`config.token-key` 用于JWT令牌加密 |
||||
|
- **文件上传路径**:`config.upload-path` 本地文件存储路径 |
||||
|
- **邮件服务**:配置SMTP服务器用于发送邮件 |
||||
|
|
||||
|
## 🎯 核心功能 |
||||
|
|
||||
|
### 🔐 用户认证与授权 |
||||
|
- **JWT认证**:基于JSON Web Token的用户认证 |
||||
|
- **Spring Security**:完整的安全框架集成 |
||||
|
- **角色权限**:基于RBAC的权限控制 |
||||
|
- **图形验证码**:防止恶意登录 |
||||
|
|
||||
|
### 📝 内容管理系统(CMS) |
||||
|
- **文章管理**:支持富文本内容管理 |
||||
|
- **媒体文件**:图片/视频文件上传与管理 |
||||
|
- **分类管理**:内容分类与标签管理 |
||||
|
- **SEO优化**:搜索引擎优化支持 |
||||
|
|
||||
|
### 🛒 电商系统 |
||||
|
- **商品管理**:商品信息、规格、库存管理 |
||||
|
- **订单系统**:完整的订单流程管理 |
||||
|
- **支付集成**:支持微信支付、支付宝 |
||||
|
- **物流跟踪**:快递100物流查询集成 |
||||
|
|
||||
|
### 🔧 系统管理 |
||||
|
- **用户管理**:用户信息维护与管理 |
||||
|
- **系统配置**:动态配置管理 |
||||
|
- **日志监控**:系统操作日志记录 |
||||
|
- **数据备份**:数据库备份与恢复 |
||||
|
|
||||
|
### 📊 数据分析 |
||||
|
- **统计报表**:业务数据统计分析 |
||||
|
- **图表展示**:数据可视化展示 |
||||
|
- **导出功能**:Excel数据导出 |
||||
|
- **实时监控**:系统性能监控 |
||||
|
|
||||
|
## 🏗️ 项目结构 |
||||
|
|
||||
|
``` |
||||
|
src/main/java/com/gxwebsoft/ |
||||
|
├── WebSoftApplication.java # 启动类 |
||||
|
├── cms/ # 内容管理模块 |
||||
|
│ ├── controller/ # 控制器层 |
||||
|
│ ├── service/ # 业务逻辑层 |
||||
|
│ ├── mapper/ # 数据访问层 |
||||
|
│ └── entity/ # 实体类 |
||||
|
├── shop/ # 商城模块 |
||||
|
│ ├── controller/ |
||||
|
│ ├── service/ |
||||
|
│ ├── mapper/ |
||||
|
│ └── entity/ |
||||
|
├── common/ # 公共模块 |
||||
|
│ ├── core/ # 核心配置 |
||||
|
│ ├── utils/ # 工具类 |
||||
|
│ └── exception/ # 异常处理 |
||||
|
└── resources/ |
||||
|
├── application.yml # 主配置文件 |
||||
|
├── application-dev.yml # 开发环境配置 |
||||
|
└── application-prod.yml# 生产环境配置 |
||||
|
``` |
||||
|
|
||||
|
## 🔧 开发规范 |
||||
|
|
||||
|
### 代码结构 |
||||
|
- **Controller层**:处理HTTP请求,参数验证 |
||||
|
- **Service层**:业务逻辑处理,事务管理 |
||||
|
- **Mapper层**:数据访问,SQL映射 |
||||
|
- **Entity层**:数据实体,数据库表映射 |
||||
|
|
||||
|
### 命名规范 |
||||
|
- **类名**:使用大驼峰命名法(PascalCase) |
||||
|
- **方法名**:使用小驼峰命名法(camelCase) |
||||
|
- **常量**:使用全大写,下划线分隔 |
||||
|
- **包名**:使用小写字母,点分隔 |
||||
|
|
||||
|
## 📚 API文档 |
||||
|
|
||||
|
项目集成了Swagger和Knife4j,提供完整的API文档: |
||||
|
|
||||
|
### 访问地址 |
||||
|
- **Swagger UI**: `http://localhost:9200/swagger-ui/index.html` |
||||
|
- **Knife4j**: `http://localhost:9200/doc.html` |
||||
|
|
||||
|
### 主要接口模块 |
||||
|
- **用户认证**: `/api/auth/**` - 登录、注册、权限验证 |
||||
|
- **用户管理**: `/api/user/**` - 用户CRUD操作 |
||||
|
- **内容管理**: `/api/cms/**` - 文章、媒体文件管理 |
||||
|
- **商城管理**: `/api/shop/**` - 商品、订单管理 |
||||
|
- **系统管理**: `/api/system/**` - 系统配置、日志管理 |
||||
|
|
||||
|
## 🚀 部署指南 |
||||
|
|
||||
|
### 开发环境部署 |
||||
|
```bash |
||||
|
# 1. 启动MySQL和Redis服务 |
||||
|
# 2. 创建数据库并导入初始数据 |
||||
|
# 3. 修改配置文件 |
||||
|
# 4. 启动应用 |
||||
|
mvn spring-boot:run |
||||
|
``` |
||||
|
|
||||
|
### 生产环境部署 |
||||
|
```bash |
||||
|
# 1. 打包应用 |
||||
|
mvn clean package -Dmaven.test.skip=true |
||||
|
|
||||
|
# 2. 运行jar包 |
||||
|
java -jar target/com-gxwebsoft-modules-1.5.0.jar --spring.profiles.active=prod |
||||
|
|
||||
|
# 3. 使用Docker部署(可选) |
||||
|
docker build -t websoft-api . |
||||
|
docker run -d -p 9200:9200 websoft-api |
||||
|
``` |
||||
|
|
||||
|
## 🤝 贡献指南 |
||||
|
|
||||
|
1. Fork 本仓库 |
||||
|
2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) |
||||
|
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) |
||||
|
4. 推送到分支 (`git push origin feature/AmazingFeature`) |
||||
|
5. 打开 Pull Request |
||||
|
|
||||
|
## 📄 许可证 |
||||
|
|
||||
|
本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情 |
||||
|
|
||||
|
## 📞 联系我们 |
||||
|
|
||||
|
- 官网:https://websoft.top |
||||
|
- 邮箱:170083662@qq.top |
||||
|
- QQ群:479713884 |
||||
|
|
||||
|
--- |
||||
|
|
||||
|
⭐ 如果这个项目对您有帮助,请给我们一个星标! |
Loading…
Reference in new issue