初始化提交

This commit is contained in:
2025-12-14 15:40:49 +08:00
commit 410b2f068d
72 changed files with 10460 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
"""API服务相关路由 - 支持 Nano Banana API 代理"""
from flask import Blueprint, request, jsonify, current_app
from flask_jwt_extended import jwt_required, get_jwt_identity
from services.api_proxy_service import ApiProxyService
api_bp = Blueprint('api_service', __name__)
@api_bp.route('/text-to-image', methods=['POST'])
@jwt_required()
def text_to_image():
"""
通用 API 代理 (支持文生图和对话)
"""
current_user_id = get_jwt_identity()
data = request.get_json()
result, status_code = ApiProxyService.handle_api_request(current_user_id, data)
if status_code == 200 and data.get('stream', False):
return current_app.response_class(result, mimetype='text/event-stream')
return jsonify(result), status_code
@api_bp.route('/models', methods=['GET'])
@jwt_required()
def get_models():
"""
获取可用的模型列表
"""
result, status_code = ApiProxyService.get_models()
return jsonify(result), status_code
@api_bp.route('/pricing', methods=['GET'])
def get_pricing():
"""获取价格信息(公开接口)"""
result, status_code = ApiProxyService.get_pricing()
return jsonify(result), status_code
@api_bp.route('/call/<int:call_id>', methods=['GET'])
@jwt_required()
def get_api_call(call_id):
"""获取API调用详情"""
current_user_id = get_jwt_identity()
result, status_code = ApiProxyService.get_api_call(current_user_id, call_id)
return jsonify(result), status_code