# 爱设计后端 API

基于 FastAPI 的付费下载平台后端

## 功能特性

- ✅ 用户注册/登录（JWT认证）
- ✅ 作品浏览/搜索
- ✅ 付费下载（易收米支付）
- ✅ 图片水印处理
- ✅ 缩略图生成
- ✅ 订单管理
- ✅ 支付回调处理
- ✅ 订单状态查询
- ✅ Docker 容器化部署

## 快速开始

### 1. 使用 Docker Compose（推荐）

```bash
# 启动所有服务
docker-compose up -d

# 查看日志
docker-compose logs -f

# 停止服务
docker-compose down
```

### 2. 本地开发

```bash
# 安装依赖
pip install -r requirements.txt

# 复制环境变量文件
cp .env.example .env

# 修改 .env 中的配置

# 启动服务
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
```

## API 文档

启动后访问：
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc

## 目录结构

```
backend/
├── app/
│   ├── api/           # API 路由
│   ├── core/          # 核心配置
│   ├── models/        # 数据库模型
│   ├── schemas/       # Pydantic 模型
│   ├── services/      # 业务逻辑
│   ├── utils/         # 工具函数
│   └── main.py        # 入口文件
├── uploads/           # 文件上传目录
│   ├── original/      # 原图（高清）
│   ├── watermarked/   # 带水印图
│   └── thumbnail/     # 缩略图
├── requirements.txt
├── Dockerfile
└── docker-compose.yml
```

## 环境变量

查看 `.env.example` 文件了解所有配置项

## 部署到生产环境

### 使用 Caddy

在服务器上创建 Caddyfile：

```
api.aishej.com {
    reverse_proxy localhost:8000
}
```

然后启动 Caddy：

```bash
caddy start
```

## 接口列表

### 认证
- POST `/api/auth/register` - 用户注册
- POST `/api/auth/login` - 用户登录

### 作品
- GET `/api/works` - 作品列表
- GET `/api/works/{id}` - 作品详情

### 订单
- POST `/api/orders/create` - 创建订单
- POST `/api/orders/pay/{id}` - 支付订单（模拟支付，仅测试用）
- GET `/api/orders/my` - 我的订单

### 支付（易收米）
- POST `/api/payment/create/{order_id}` - 创建支付链接（真实支付）
- POST `/api/payment/notify` - 支付回调接口（易收米异步通知）
- GET `/api/payment/query/{order_number}` - 查询订单支付状态
- POST `/api/payment/cancel/{order_id}` - 取消订单

## 后续开发

- [ ] 接入真实支付接口（支付宝/微信）
- [ ] 作品上传管理
- [ ] 管理后台
- [ ] 数据统计
- [ ] Redis 缓存
- [ ] 日志系统

## License

MIT
