# 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 /` - 获取订单详情 - `POST /notify/` - 支付通知(测试用) ### API服务 `/api/service` - `POST /text-to-image` - 文生图API - `GET /models` - 获取可用模型 - `GET /pricing` - 获取价格信息 - `GET /call/` - 获取API调用详情 ### 管理员 `/api/admin` - `GET /users` - 获取用户列表 - `GET /users/` - 获取用户详情 - `POST /users//toggle-status` - 启用/禁用用户 - `POST /users//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