Files
tuhui/backend/README.md
2026-03-08 19:28:32 +08:00

129 lines
2.6 KiB
Markdown
Raw 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.
# 爱设计后端 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