Files
NBATransfer/NBATransfer-backend/后端文档.md
2025-12-14 15:40:49 +08:00

3.7 KiB
Raw Permalink Blame History

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. 安装依赖

pip install -r requirements.txt

2. 配置环境变量

复制 .env.example.env 并修改配置:

copy .env.example .env

必需配置项:

  • SECRET_KEY: Flask 密钥
  • JWT_SECRET_KEY: JWT 密钥
  • NANO_BANANA_API_KEY: Nano Banana API 密钥
  • MAIL_USERNAME: 邮箱用户名
  • MAIL_PASSWORD: 邮箱密码

3. 运行应用

python app.py

服务将在 http://localhost:5000 启动

4. 默认管理员账号

首次登录后请立即修改密码!

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 中注册蓝图

数据库迁移

# 进入 Python shell
python
>>> from app import create_app
>>> from models import db
>>> app = create_app()
>>> with app.app_context():
...     db.create_all()

部署建议

使用 Gunicorn (生产环境)

pip install gunicorn
gunicorn -w 4 -b 0.0.0.0:5000 app:app

使用 Docker

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