chore: initialize tuhui repository
This commit is contained in:
128
backend/README.md
Normal file
128
backend/README.md
Normal file
@@ -0,0 +1,128 @@
|
||||
# 爱设计后端 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
|
||||
Reference in New Issue
Block a user