# 爱设计后端 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