973 lines
20 KiB
Markdown
973 lines
20 KiB
Markdown
<artifact identifier="improved-readme" type="text/markdown" title="改进后的README文档">
|
|
<div align="center">
|
|
|
|
# 🌱 SunnyFarm | 农产品直销平台
|
|
|
|
*现代化农产品电商解决方案 - 连接农户与消费者的桥梁*
|
|
|
|
[](https://spring.io/projects/spring-boot)
|
|
[](https://vuejs.org/)
|
|
[](https://www.mysql.com/)
|
|
[](https://opensource.org/licenses/MIT)
|
|
[]()
|
|
|
|
[🚀 快速开始](#-快速开始) • [📖 文档](#-api文档) • [🎯 演示](#-默认账号) • [🤝 贡献](#-贡献指南)
|
|
|
|
---
|
|
|
|
</div>
|
|
|
|
## 📖 项目介绍
|
|
|
|
**SunnyFarm** 是一个基于现代技术栈开发的农产品电商平台,致力于为农户和消费者搭建直接沟通的桥梁。平台采用微服务架构,支持多角色权限管理,提供完整的电商业务流程,让新鲜农产品直达餐桌。
|
|
|
|
<div align="center">
|
|
|
|
### 🎯 核心优势
|
|
|
|
| 💎 技术先进 | 🔐 安全可靠 | 📱 响应式设计 | ⚡ 高性能 |
|
|
|:---:|:---:|:---:|:---:|
|
|
| Spring Boot + Vue3 | JWT + Spring Security | 多端适配 | Redis缓存优化 |
|
|
|
|
</div>
|
|
|
|
---
|
|
## ✨ 功能亮点
|
|
|
|
<div align="center">
|
|
<table>
|
|
<tr>
|
|
<td width="50%" align="center">
|
|
|
|
### 🛒 **用户端功能**
|
|
🔍 **智能商品搜索** - 分类筛选、价格排序
|
|
|
|
🛍️ **购物车管理** - 实时更新、批量操作
|
|
|
|
💳 **多种支付方式** - 支付宝、微信支付
|
|
|
|
📍 **地址管理** - 多地址管理、默认地址
|
|
|
|
⭐ **商品评价** - 图文评价、评分系统
|
|
|
|
💬 **在线客服** - 实时聊天、问题解答
|
|
|
|
</td>
|
|
<td width="50%" align="center">
|
|
|
|
### 🏪 **商家端功能**
|
|
📦 **商品管理** - 批量上传、库存预警
|
|
|
|
📊 **销售统计** - 实时数据、图表分析
|
|
|
|
🚚 **订单处理** - 状态跟踪、物流管理
|
|
|
|
💰 **收益分析** - 财务报表、提现管理
|
|
|
|
🎨 **店铺装修** - 个性化展示
|
|
|
|
📈 **营销工具** - 优惠券、促销活动
|
|
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2" align="center">
|
|
|
|
### 🔧 **管理员功能**
|
|
👥 **用户管理** - 用户审核、权限分配、行为监控
|
|
|
|
🏢 **商家管理** - 商家入驻审核、资质验证、经营监管
|
|
|
|
📋 **平台配置** - 系统参数、业务规则、功能开关
|
|
|
|
📊 **数据分析** - 运营报表、用户画像、商业洞察
|
|
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
|
|
---
|
|
|
|
## 🏗️ 技术架构
|
|
|
|
<div align="center">
|
|
|
|
```mermaid
|
|
graph TB
|
|
A[用户端 Vue3] --> B[Nginx]
|
|
C[商家端 Vue3] --> B
|
|
D[管理端 Vue3] --> B
|
|
B --> E[Spring Boot API Gateway]
|
|
E --> F[用户服务]
|
|
E --> G[商品服务]
|
|
E --> H[订单服务]
|
|
E --> I[支付服务]
|
|
F --> J[(MySQL)]
|
|
G --> J
|
|
H --> J
|
|
I --> J
|
|
E --> K[(Redis)]
|
|
E --> L[腾讯云COS]
|
|
I --> M[支付宝API]
|
|
```
|
|
|
|
</div>
|
|
|
|
### 🛠️ 技术栈详情
|
|
|
|
<div align="center">
|
|
<table>
|
|
<tr>
|
|
<th>分层</th>
|
|
<th>技术选型</th>
|
|
<th>版本</th>
|
|
<th>说明</th>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="6"><strong>后端</strong></td>
|
|
<td>Spring Boot</td>
|
|
<td>2.7.14</td>
|
|
<td>核心框架</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Spring Security</td>
|
|
<td>-</td>
|
|
<td>安全认证</td>
|
|
</tr>
|
|
<tr>
|
|
<td>MyBatis Plus</td>
|
|
<td>-</td>
|
|
<td>数据访问</td>
|
|
</tr>
|
|
<tr>
|
|
<td>MySQL</td>
|
|
<td>8.0+</td>
|
|
<td>主数据库</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Redis</td>
|
|
<td>6.0+</td>
|
|
<td>缓存/会话</td>
|
|
</tr>
|
|
<tr>
|
|
<td>腾讯云COS</td>
|
|
<td>-</td>
|
|
<td>文件存储</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="6"><strong>前端</strong></td>
|
|
<td>Vue 3</td>
|
|
<td>3.0+</td>
|
|
<td>前端框架</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Element Plus</td>
|
|
<td>-</td>
|
|
<td>UI组件库</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Pinia</td>
|
|
<td>-</td>
|
|
<td>状态管理</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Vue Router</td>
|
|
<td>4.0+</td>
|
|
<td>路由管理</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Axios</td>
|
|
<td>-</td>
|
|
<td>HTTP客户端</td>
|
|
</tr>
|
|
<tr>
|
|
<td>ECharts</td>
|
|
<td>-</td>
|
|
<td>数据可视化</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="3"><strong>运维</strong></td>
|
|
<td>Docker</td>
|
|
<td>-</td>
|
|
<td>容器化部署</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Nginx</td>
|
|
<td>-</td>
|
|
<td>反向代理</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Docker Compose</td>
|
|
<td>-</td>
|
|
<td>服务编排</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
---
|
|
|
|
## 📋 环境要求
|
|
|
|
<div align="center">
|
|
<table>
|
|
<tr>
|
|
<th>环境</th>
|
|
<th>开发环境</th>
|
|
<th>生产环境</th>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>操作系统</strong></td>
|
|
<td>Windows/macOS/Linux</td>
|
|
<td>Linux (推荐 Ubuntu 20.04+)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>Java</strong></td>
|
|
<td>JDK 8+</td>
|
|
<td>JDK 8+</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>Node.js</strong></td>
|
|
<td>16.0+</td>
|
|
<td>16.0+</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>数据库</strong></td>
|
|
<td>MySQL 8.0+</td>
|
|
<td>MySQL 8.0+</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>缓存</strong></td>
|
|
<td>Redis 6.0+</td>
|
|
<td>Redis 6.0+</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>内存</strong></td>
|
|
<td>4GB+</td>
|
|
<td>8GB+</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>存储</strong></td>
|
|
<td>10GB+</td>
|
|
<td>50GB+</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
---
|
|
|
|
## 🚀 快速开始
|
|
|
|
### 📥 1. 项目克隆
|
|
|
|
```bash
|
|
# 克隆项目
|
|
git clone https://git.sq0715.com/qin/SunnyFarm.git
|
|
|
|
# 进入项目目录
|
|
cd SunnyFarm
|
|
```
|
|
|
|
### ⚙️ 2. 环境配置
|
|
|
|
#### 🎯 后端配置
|
|
|
|
```bash
|
|
# 复制配置模板
|
|
cp backend/src/main/resources/application-dev.yml.example \
|
|
backend/src/main/resources/application-dev.yml
|
|
|
|
# 编辑配置文件
|
|
vim backend/src/main/resources/application-dev.yml
|
|
```
|
|
|
|
#### 🔧 关键配置项
|
|
|
|
<details>
|
|
<summary><strong>📊 数据库配置</strong></summary>
|
|
|
|
```yaml
|
|
spring:
|
|
datasource:
|
|
url: jdbc:mysql://localhost:3306/sunnyfarm?useSSL=false&serverTimezone=Asia/Shanghai
|
|
username: your_username
|
|
password: your_password
|
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
|
```
|
|
</details>
|
|
|
|
<details>
|
|
<summary><strong>🔴 Redis配置</strong></summary>
|
|
|
|
```yaml
|
|
spring:
|
|
redis:
|
|
host: localhost
|
|
port: 6379
|
|
password: your_redis_password
|
|
timeout: 5000ms
|
|
lettuce:
|
|
pool:
|
|
max-active: 8
|
|
max-wait: -1ms
|
|
max-idle: 8
|
|
min-idle: 0
|
|
```
|
|
</details>
|
|
|
|
<details>
|
|
<summary><strong>📧 邮件服务配置</strong></summary>
|
|
|
|
```yaml
|
|
spring:
|
|
mail:
|
|
host: smtp.qq.com
|
|
port: 465
|
|
username: your_email@qq.com
|
|
password: your_email_auth_code
|
|
protocol: smtp
|
|
properties:
|
|
mail.smtp.auth: true
|
|
mail.smtp.ssl.enable: true
|
|
```
|
|
</details>
|
|
|
|
<details>
|
|
<summary><strong>☁️ 腾讯云COS配置</strong></summary>
|
|
|
|
```yaml
|
|
tencent:
|
|
cos:
|
|
secret-id: your_secret_id
|
|
secret-key: your_secret_key
|
|
region: ap-guangzhou
|
|
bucket: your_bucket_name
|
|
base-url: https://your-bucket.cos.ap-guangzhou.myqcloud.com
|
|
```
|
|
</details>
|
|
|
|
<details>
|
|
<summary><strong>💳 支付宝配置</strong></summary>
|
|
|
|
```yaml
|
|
alipay:
|
|
app-id: your_app_id
|
|
app-private-key: your_private_key
|
|
alipay-public-key: alipay_public_key
|
|
notify-url: https://your-domain.com/api/payment/alipay/notify
|
|
return-url: https://your-domain.com/orders?payment=success
|
|
gateway-url: https://openapi.alipaydev.com/gateway.do # 沙箱环境
|
|
```
|
|
</details>
|
|
|
|
### 🗄️ 3. 数据库初始化
|
|
|
|
```bash
|
|
# 创建数据库
|
|
mysql -u root -p -e "CREATE DATABASE sunnyfarm CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
|
|
|
|
# 导入数据库结构
|
|
mysql -u root -p sunnyfarm < sql/sunnyfarm.sql
|
|
|
|
# 导入初始化数据
|
|
mysql -u root -p sunnyfarm < sql/init_inventory.sql
|
|
```
|
|
|
|
### 🔥 4. 启动服务
|
|
|
|
#### 🖥️ 后端服务
|
|
|
|
```bash
|
|
cd backend
|
|
|
|
# 安装依赖并启动
|
|
mvn clean install
|
|
mvn spring-boot:run
|
|
|
|
# 或者使用jar包启动
|
|
java -jar target/sunnyfarm-backend-1.0.0.jar
|
|
```
|
|
|
|
#### 🌐 前端服务
|
|
|
|
```bash
|
|
cd frontend
|
|
|
|
# 安装依赖
|
|
npm install
|
|
|
|
# 启动开发服务器
|
|
npm run dev
|
|
|
|
# 构建生产版本
|
|
npm run build
|
|
```
|
|
|
|
### 🎯 5. 访问应用
|
|
|
|
<div align="center">
|
|
|
|
| 服务 | 地址 | 说明 |
|
|
|:---:|:---:|:---:|
|
|
| 🖥️ **前端应用** | http://localhost:3000 | 用户界面 |
|
|
| 🔧 **后端API** | http://localhost:8080 | API服务 |
|
|
| 📊 **健康检查** | http://localhost:8080/api/init/status | 服务状态 |
|
|
|
|
</div>
|
|
|
|
---
|
|
|
|
## 🐳 容器化部署
|
|
|
|
### 🚀 一键部署
|
|
|
|
```bash
|
|
# 使用 Docker Compose 一键启动所有服务
|
|
docker-compose up -d
|
|
|
|
# 查看服务状态
|
|
docker-compose ps
|
|
|
|
# 查看实时日志
|
|
docker-compose logs -f
|
|
```
|
|
|
|
### 🔧 手动部署
|
|
|
|
<details>
|
|
<summary><strong>点击展开详细部署步骤</strong></summary>
|
|
|
|
```bash
|
|
# 1. 构建后端镜像
|
|
cd backend
|
|
docker build -t sunnyfarm-backend:latest .
|
|
|
|
# 2. 构建前端镜像
|
|
cd ../frontend
|
|
docker build -t sunnyfarm-frontend:latest .
|
|
|
|
# 3. 创建网络
|
|
docker network create sunnyfarm-network
|
|
|
|
# 4. 启动数据库
|
|
docker run -d \
|
|
--name sunnyfarm-mysql \
|
|
--network sunnyfarm-network \
|
|
-e MYSQL_ROOT_PASSWORD=root123 \
|
|
-e MYSQL_DATABASE=sunnyfarm \
|
|
-p 3306:3306 \
|
|
mysql:8.0
|
|
|
|
# 5. 启动Redis
|
|
docker run -d \
|
|
--name sunnyfarm-redis \
|
|
--network sunnyfarm-network \
|
|
-p 6379:6379 \
|
|
redis:6-alpine
|
|
|
|
# 6. 启动后端服务
|
|
docker run -d \
|
|
--name sunnyfarm-backend \
|
|
--network sunnyfarm-network \
|
|
-p 8080:8080 \
|
|
sunnyfarm-backend:latest
|
|
|
|
# 7. 启动前端服务
|
|
docker run -d \
|
|
--name sunnyfarm-frontend \
|
|
--network sunnyfarm-network \
|
|
-p 3000:3000 \
|
|
sunnyfarm-frontend:latest
|
|
```
|
|
|
|
</details>
|
|
|
|
---
|
|
|
|
## 🌍 生产环境部署
|
|
|
|
### 🏗️ 服务器准备
|
|
|
|
```bash
|
|
# 更新系统
|
|
sudo apt update && sudo apt upgrade -y
|
|
|
|
# 安装必要软件
|
|
sudo apt install -y docker.io docker-compose nginx ufw
|
|
|
|
# 启动Docker服务
|
|
sudo systemctl start docker
|
|
sudo systemctl enable docker
|
|
|
|
# 配置防火墙
|
|
sudo ufw allow 22
|
|
sudo ufw allow 80
|
|
sudo ufw allow 443
|
|
sudo ufw --force enable
|
|
```
|
|
|
|
### 🔧 Nginx配置
|
|
|
|
<details>
|
|
<summary><strong>Nginx反向代理配置</strong></summary>
|
|
|
|
```nginx
|
|
server {
|
|
listen 80;
|
|
server_name your-domain.com;
|
|
|
|
# 前端静态文件
|
|
location / {
|
|
proxy_pass http://localhost:3000;
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
}
|
|
|
|
# 后端API
|
|
location /api/ {
|
|
proxy_pass http://localhost:8080/api/;
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
}
|
|
|
|
# 文件上传大小限制
|
|
client_max_body_size 10M;
|
|
}
|
|
```
|
|
|
|
</details>
|
|
|
|
---
|
|
|
|
## 📚 API接口文档
|
|
|
|
### 🔐 认证模块
|
|
|
|
<div align="center">
|
|
<table>
|
|
<tr>
|
|
<th>方法</th>
|
|
<th>路径</th>
|
|
<th>描述</th>
|
|
<th>权限</th>
|
|
</tr>
|
|
<tr>
|
|
<td><code>POST</code></td>
|
|
<td><code>/api/user/register</code></td>
|
|
<td>用户注册</td>
|
|
<td>公开</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>POST</code></td>
|
|
<td><code>/api/user/login</code></td>
|
|
<td>用户登录</td>
|
|
<td>公开</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>POST</code></td>
|
|
<td><code>/api/merchant/login</code></td>
|
|
<td>商家登录</td>
|
|
<td>公开</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>POST</code></td>
|
|
<td><code>/api/admin/login</code></td>
|
|
<td>管理员登录</td>
|
|
<td>公开</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>POST</code></td>
|
|
<td><code>/api/auth/logout</code></td>
|
|
<td>退出登录</td>
|
|
<td>登录用户</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
### 🛍️ 商品模块
|
|
|
|
<div align="center">
|
|
<table>
|
|
<tr>
|
|
<th>方法</th>
|
|
<th>路径</th>
|
|
<th>描述</th>
|
|
<th>权限</th>
|
|
</tr>
|
|
<tr>
|
|
<td><code>GET</code></td>
|
|
<td><code>/api/product/list</code></td>
|
|
<td>商品列表</td>
|
|
<td>公开</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>GET</code></td>
|
|
<td><code>/api/product/{id}</code></td>
|
|
<td>商品详情</td>
|
|
<td>公开</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>POST</code></td>
|
|
<td><code>/api/product/create</code></td>
|
|
<td>创建商品</td>
|
|
<td>商家</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>PUT</code></td>
|
|
<td><code>/api/product/{id}</code></td>
|
|
<td>更新商品</td>
|
|
<td>商家</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>DELETE</code></td>
|
|
<td><code>/api/product/{id}</code></td>
|
|
<td>删除商品</td>
|
|
<td>商家</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
### 📦 订单模块
|
|
|
|
<div align="center">
|
|
<table>
|
|
<tr>
|
|
<th>方法</th>
|
|
<th>路径</th>
|
|
<th>描述</th>
|
|
<th>权限</th>
|
|
</tr>
|
|
<tr>
|
|
<td><code>POST</code></td>
|
|
<td><code>/api/order/create</code></td>
|
|
<td>创建订单</td>
|
|
<td>用户</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>GET</code></td>
|
|
<td><code>/api/order/list</code></td>
|
|
<td>订单列表</td>
|
|
<td>用户/商家</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>GET</code></td>
|
|
<td><code>/api/order/{id}</code></td>
|
|
<td>订单详情</td>
|
|
<td>用户/商家</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>POST</code></td>
|
|
<td><code>/api/order/{id}/pay</code></td>
|
|
<td>订单支付</td>
|
|
<td>用户</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>PUT</code></td>
|
|
<td><code>/api/order/{id}/status</code></td>
|
|
<td>更新订单状态</td>
|
|
<td>商家</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
---
|
|
|
|
## 🎯 测试账号
|
|
|
|
<div align="center">
|
|
|
|
### 🔑 默认账号信息
|
|
|
|
<table>
|
|
<tr>
|
|
<th>角色</th>
|
|
<th>用户名</th>
|
|
<th>密码</th>
|
|
<th>权限说明</th>
|
|
</tr>
|
|
<tr>
|
|
<td>🔧 <strong>管理员</strong></td>
|
|
<td><code>admin</code></td>
|
|
<td><code>admin123</code></td>
|
|
<td>系统管理、用户管理、数据统计</td>
|
|
</tr>
|
|
<tr>
|
|
<td>🏪 <strong>商家</strong></td>
|
|
<td><code>merchant</code></td>
|
|
<td><code>merchant123</code></td>
|
|
<td>商品管理、订单处理、销售统计</td>
|
|
</tr>
|
|
<tr>
|
|
<td>👤 <strong>用户</strong></td>
|
|
<td><code>user</code></td>
|
|
<td><code>user123</code></td>
|
|
<td>购物下单、个人中心、订单管理</td>
|
|
</tr>
|
|
</table>
|
|
|
|
> ⚠️ **安全提醒**: 生产环境请立即修改默认密码!
|
|
|
|
</div>
|
|
|
|
---
|
|
|
|
## 📁 项目结构
|
|
|
|
```
|
|
SunnyFarm/
|
|
├── 📁 backend/ # 🖥️ 后端Spring Boot项目
|
|
│ ├── 📁 src/main/java/ # ☕ Java源码
|
|
│ │ ├── 📁 controller/ # 🌐 控制器层
|
|
│ │ ├── 📁 service/ # 🔧 业务逻辑层
|
|
│ │ ├── 📁 mapper/ # 🗄️ 数据访问层
|
|
│ │ ├── 📁 model/ # 📋 数据模型
|
|
│ │ └── 📁 config/ # ⚙️ 配置类
|
|
│ ├── 📁 src/main/resources/ # 📄 配置文件
|
|
│ │ ├── 📄 application.yml # 主配置文件
|
|
│ │ ├── 📄 application-dev.yml # 开发环境配置
|
|
│ │ └── 📄 application-prod.yml # 生产环境配置
|
|
│ └── 📄 pom.xml # Maven依赖配置
|
|
├── 📁 frontend/ # 🌐 前端Vue项目
|
|
│ ├── 📁 src/ # Vue源码
|
|
│ │ ├── 📁 components/ # 🧩 组件库
|
|
│ │ ├── 📁 views/ # 📱 页面视图
|
|
│ │ ├── 📁 router/ # 🗺️ 路由配置
|
|
│ │ ├── 📁 store/ # 💾 状态管理
|
|
│ │ └── 📁 utils/ # 🔧 工具函数
|
|
│ ├── 📁 public/ # 🖼️ 静态资源
|
|
│ └── 📄 package.json # NPM依赖配置
|
|
├── 📁 sql/ # 🗄️ 数据库脚本
|
|
│ ├── 📄 sunnyfarm.sql # 数据库结构
|
|
│ └── 📄 init_inventory.sql # 初始化数据
|
|
├── 📁 docker/ # 🐳 Docker配置
|
|
├── 📄 docker-compose.yml # 容器编排配置
|
|
├── 📄 nginx.conf # Nginx配置
|
|
└── 📄 README.md # 项目说明文档
|
|
```
|
|
|
|
---
|
|
|
|
## 🔄 开发流程
|
|
|
|
### 🌿 Git工作流
|
|
|
|
```mermaid
|
|
gitgraph
|
|
commit id: "Initial"
|
|
branch develop
|
|
checkout develop
|
|
commit id: "Feature A"
|
|
commit id: "Feature B"
|
|
branch feature/user-auth
|
|
checkout feature/user-auth
|
|
commit id: "Add login"
|
|
commit id: "Add register"
|
|
checkout develop
|
|
merge feature/user-auth
|
|
checkout main
|
|
merge develop
|
|
commit id: "Release v1.0"
|
|
```
|
|
|
|
### 📝 提交规范
|
|
|
|
```bash
|
|
# 功能开发
|
|
git commit -m "feat: 添加用户登录功能"
|
|
|
|
# 问题修复
|
|
git commit -m "fix: 修复商品搜索bug"
|
|
|
|
# 文档更新
|
|
git commit -m "docs: 更新API文档"
|
|
|
|
# 样式调整
|
|
git commit -m "style: 调整商品卡片样式"
|
|
|
|
# 重构代码
|
|
git commit -m "refactor: 优化订单查询逻辑"
|
|
```
|
|
|
|
---
|
|
|
|
## 🔍 常见问题
|
|
|
|
<details>
|
|
<summary><strong>❓ 启动时数据库连接失败</strong></summary>
|
|
|
|
**解决方案**:
|
|
1. 检查MySQL服务是否启动
|
|
2. 验证数据库连接配置是否正确
|
|
3. 确认数据库用户权限
|
|
4. 检查防火墙设置
|
|
|
|
```bash
|
|
# 检查MySQL服务状态
|
|
sudo systemctl status mysql
|
|
|
|
# 测试数据库连接
|
|
mysql -h localhost -u username -p
|
|
```
|
|
</details>
|
|
|
|
<details>
|
|
<summary><strong>❓ 支付回调接收失败</strong></summary>
|
|
|
|
**解决方案**:
|
|
1. 确保回调URL是公网可访问的
|
|
2. 检查支付宝配置是否正确
|
|
3. 验证SSL证书配置
|
|
4. 查看支付宝开发者后台日志
|
|
|
|
```bash
|
|
# 测试回调URL可访问性
|
|
curl -X POST https://your-domain.com/api/payment/alipay/notify
|
|
```
|
|
</details>
|
|
|
|
<details>
|
|
<summary><strong>❓ 文件上传失败</strong></summary>
|
|
|
|
**解决方案**:
|
|
1. 检查腾讯云COS配置
|
|
2. 验证存储桶权限设置
|
|
3. 确认文件大小限制
|
|
4. 检查网络连接
|
|
|
|
```yaml
|
|
# 增加文件上传大小限制
|
|
spring:
|
|
servlet:
|
|
multipart:
|
|
max-file-size: 10MB
|
|
max-request-size: 50MB
|
|
```
|
|
</details>
|
|
|
|
---
|
|
|
|
## 🚀 性能优化建议
|
|
|
|
### 🔧 后端优化
|
|
|
|
```java
|
|
// Redis缓存优化
|
|
@Cacheable(value = "products", key = "#categoryId")
|
|
public List<Product> getProductsByCategory(Long categoryId) {
|
|
return productMapper.selectByCategory(categoryId);
|
|
}
|
|
|
|
// 数据库连接池优化
|
|
spring:
|
|
datasource:
|
|
hikari:
|
|
maximum-pool-size: 20
|
|
minimum-idle: 5
|
|
connection-timeout: 30000
|
|
```
|
|
|
|
### 🌐 前端优化
|
|
|
|
```javascript
|
|
// 路由懒加载
|
|
const routes = [
|
|
{
|
|
path: '/products',
|
|
component: () => import('@/views/Products.vue')
|
|
}
|
|
]
|
|
|
|
// 组件缓存
|
|
<keep-alive include="ProductList,UserProfile">
|
|
<router-view />
|
|
</keep-alive>
|
|
```
|
|
|
|
---
|
|
|
|
## 🤝 贡献指南
|
|
|
|
我们欢迎所有形式的贡献!🎉
|
|
|
|
### 🌟 贡献方式
|
|
|
|
- 🐛 **问题反馈**: 发现bug请提交Issue
|
|
- 💡 **功能建议**: 有好想法请告诉我们
|
|
- 📖 **文档改进**: 帮助完善文档
|
|
- 🔧 **代码贡献**: 提交Pull Request
|
|
|
|
### 📋 贡献流程
|
|
|
|
1. **🍴 Fork项目** - 点击右上角Fork按钮
|
|
2. **🌿 创建分支** - `git checkout -b feature/amazing-feature`
|
|
3. **💻 编写代码** - 遵循项目编码规范
|
|
4. **✅ 测试验证** - 确保功能正常工作
|
|
5. **📝 提交更改** - `git commit -m 'feat: add amazing feature'`
|
|
6. **🚀 推送分支** - `git push origin feature/amazing-feature`
|
|
7. **🔄 提交PR** - 创建Pull Request
|
|
|
|
### 📏 编码规范
|
|
|
|
- **Java**: 遵循阿里巴巴Java开发规范
|
|
- **Vue**: 遵循Vue官方风格指南
|
|
- **数据库**: 遵循MySQL命名规范
|
|
- **接口**: 遵循RESTful API设计原则
|
|
|
|
---
|
|
|
|
## 📄 许可证
|
|
|
|
本项目基于 [MIT License](https://opensource.org/licenses/MIT) 开源协议。
|
|
|
|
```
|
|
MIT License
|
|
|
|
Copyright (c) 2024 SunnyFarm Team
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
of this software and associated documentation files (the "Software"), to deal
|
|
in the Software without restriction, including without limitation the rights
|
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
copies of the Software, and to permit persons to whom the Software is
|
|
furnished to do so, subject to the following conditions:
|
|
|
|
The above copyright notice and this permission notice shall be included in all
|
|
copies or substantial portions of the Software.
|
|
```
|
|
|
|
---
|
|
|
|
<div align="center">
|
|
|
|
## 📞 联系我们
|
|
|
|
[](https://git.sq0715.com/qin/SunnyFarm)
|
|
[](mailto:852326703@qq.com)
|
|
[]()
|
|
|
|
### 🙏 特别感谢
|
|
|
|
感谢所有为本项目做出贡献的开发者们!
|
|
|
|
---
|
|
|
|
**⭐ 如果这个项目对你有帮助,请给我们一个星标!**
|
|
|
|
*让新鲜农产品直达每个家庭* 🌱✨
|
|
|
|
</div>
|
|
|
|
---
|
|
|
|
<div align="center">
|
|
<sub>
|
|
🌱 Built with ❤️ by SunnyFarm Team •
|
|
<a href="https://git.sq0715.com/qin/SunnyFarm">源码地址</a> •
|
|
<a href="#-项目介绍">回到顶部</a>
|
|
</sub>
|
|
</div>
|
|
</artifact>
|