初始化提交
This commit is contained in:
177
NBATransfer-backend/后端文档.md
Normal file
177
NBATransfer-backend/后端文档.md
Normal file
@@ -0,0 +1,177 @@
|
||||
# Nano Banana API 中转平台 - 后端
|
||||
|
||||
基于 Flask 的 Nano Banana API 中转购买平台后端服务。
|
||||
|
||||
## 功能特性
|
||||
|
||||
- 📧 邮箱注册登录系统
|
||||
- 💰 用户余额管理
|
||||
- 💳 支付接口(支付宝/微信支付)
|
||||
- 🎨 Nano Banana 文生图 API 中转
|
||||
- 📊 用户统计和订单管理
|
||||
- 🔐 JWT 身份认证
|
||||
- 👨💼 管理员后台
|
||||
|
||||
## 技术栈
|
||||
|
||||
- Flask 3.0
|
||||
- SQLite 数据库
|
||||
- Flask-SQLAlchemy ORM
|
||||
- Flask-JWT-Extended 认证
|
||||
- Flask-CORS 跨域支持
|
||||
- Flask-Mail 邮件服务
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 1. 安装依赖
|
||||
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
### 2. 配置环境变量
|
||||
|
||||
复制 `.env.example` 到 `.env` 并修改配置:
|
||||
|
||||
```bash
|
||||
copy .env.example .env
|
||||
```
|
||||
|
||||
必需配置项:
|
||||
- `SECRET_KEY`: Flask 密钥
|
||||
- `JWT_SECRET_KEY`: JWT 密钥
|
||||
- `NANO_BANANA_API_KEY`: Nano Banana API 密钥
|
||||
- `MAIL_USERNAME`: 邮箱用户名
|
||||
- `MAIL_PASSWORD`: 邮箱密码
|
||||
|
||||
### 3. 运行应用
|
||||
|
||||
```bash
|
||||
python app.py
|
||||
```
|
||||
|
||||
服务将在 http://localhost:5000 启动
|
||||
|
||||
### 4. 默认管理员账号
|
||||
|
||||
- 邮箱: admin@nba.com
|
||||
- 密码: admin123
|
||||
|
||||
**首次登录后请立即修改密码!**
|
||||
|
||||
## API 文档
|
||||
|
||||
### 认证相关 `/api/auth`
|
||||
|
||||
- `POST /register` - 用户注册
|
||||
- `POST /login` - 用户登录
|
||||
- `POST /refresh` - 刷新令牌
|
||||
- `GET /me` - 获取当前用户信息
|
||||
- `POST /change-password` - 修改密码
|
||||
|
||||
### 用户相关 `/api/user`
|
||||
|
||||
- `GET /profile` - 获取用户资料
|
||||
- `PUT /profile` - 更新用户资料
|
||||
- `GET /balance` - 获取账户余额
|
||||
- `GET /transactions` - 获取交易记录
|
||||
- `GET /api-calls` - 获取API调用记录
|
||||
- `GET /stats` - 获取统计信息
|
||||
|
||||
### 订单相关 `/api/order`
|
||||
|
||||
- `POST /create` - 创建充值订单
|
||||
- `GET /list` - 获取订单列表
|
||||
- `GET /<order_id>` - 获取订单详情
|
||||
- `POST /notify/<order_no>` - 支付通知(测试用)
|
||||
|
||||
### API服务 `/api/service`
|
||||
|
||||
- `POST /text-to-image` - 文生图API
|
||||
- `GET /models` - 获取可用模型
|
||||
- `GET /pricing` - 获取价格信息
|
||||
- `GET /call/<call_id>` - 获取API调用详情
|
||||
|
||||
### 管理员 `/api/admin`
|
||||
|
||||
- `GET /users` - 获取用户列表
|
||||
- `GET /users/<user_id>` - 获取用户详情
|
||||
- `POST /users/<user_id>/toggle-status` - 启用/禁用用户
|
||||
- `POST /users/<user_id>/adjust-balance` - 调整用户余额
|
||||
- `GET /orders` - 获取所有订单
|
||||
- `GET /api-calls` - 获取所有API调用
|
||||
- `GET /stats/overview` - 获取总览统计
|
||||
- `GET /stats/chart` - 获取图表数据
|
||||
|
||||
## 数据库结构
|
||||
|
||||
### 用户表 (users)
|
||||
- 邮箱、密码、用户名
|
||||
- 余额、激活状态、管理员标识
|
||||
- 创建时间、更新时间
|
||||
|
||||
### 订单表 (orders)
|
||||
- 订单号、用户ID、金额
|
||||
- 支付方式、订单状态
|
||||
- 第三方交易ID、支付时间
|
||||
|
||||
### 交易记录表 (transactions)
|
||||
- 用户ID、交易类型(充值/消费/退款)
|
||||
- 金额、前后余额
|
||||
- 关联订单、关联API调用
|
||||
|
||||
### API调用表 (api_calls)
|
||||
- 用户ID、API类型
|
||||
- 提示词、参数、状态
|
||||
- 结果URL、费用、错误信息
|
||||
|
||||
## 开发说明
|
||||
|
||||
### 添加新的路由
|
||||
|
||||
1. 在 `routes/` 目录下创建新的蓝图文件
|
||||
2. 在 `app.py` 中注册蓝图
|
||||
|
||||
### 数据库迁移
|
||||
|
||||
```bash
|
||||
# 进入 Python shell
|
||||
python
|
||||
>>> from app import create_app
|
||||
>>> from models import db
|
||||
>>> app = create_app()
|
||||
>>> with app.app_context():
|
||||
... db.create_all()
|
||||
```
|
||||
|
||||
## 部署建议
|
||||
|
||||
### 使用 Gunicorn (生产环境)
|
||||
|
||||
```bash
|
||||
pip install gunicorn
|
||||
gunicorn -w 4 -b 0.0.0.0:5000 app:app
|
||||
```
|
||||
|
||||
### 使用 Docker
|
||||
|
||||
```dockerfile
|
||||
FROM python:3.9
|
||||
WORKDIR /app
|
||||
COPY requirements.txt .
|
||||
RUN pip install -r requirements.txt
|
||||
COPY . .
|
||||
CMD ["gunicorn", "-w", "4", "-b", "0.0.0.0:5000", "app:app"]
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. 生产环境请修改所有默认密钥
|
||||
2. 配置实际的邮件服务器
|
||||
3. 接入真实的支付接口
|
||||
4. 配置 HTTPS
|
||||
5. 定期备份数据库
|
||||
|
||||
## 许可证
|
||||
|
||||
MIT License
|
||||
Reference in New Issue
Block a user