Files
core/README.md
gxwebsoft 31b107edb2 docs(readme): 更新技术栈版本信息
- 将Java版本从1.8+更新为17+
- 调整表格格式以提高可读性
- 保持其他技术组件版本信息不变
2025-12-12 12:49:16 +08:00

286 lines
8.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<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) |
| 关注公众号 | ![输入图片说明](https://oss.wsdns.cn/20240327/f1175cc5aae741d3af05484747270bd5.jpeg?x-oss-process=image/resize,m_fixed,w_150/quality,Q_90) |
## 🛠️ 技术栈
### 核心框架
| 技术 | 版本 | 说明 |
|------|-------|------|
| Java | 17+ | 编程语言 |
| 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
---
⭐ 如果这个项目对您有帮助,请给我们一个星标!