SpeechRecognition/app/utils.py

30 lines
1.1 KiB
Python

from datetime import datetime, timezone
from flask import request, jsonify
def make_response(status="success", data=None, errors=None, message=None, extra=None):
"""统一响应格式"""
response = {
"status": status,
"data": data or {},
"errors": errors or [],
"message": message or ("操作成功" if status == "success" else "操作失败"),
"timestamp": datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ")
}
if extra:
response.update(extra)
return response
def register_cors(app):
"""统一注册 CORS"""
@app.after_request
def after_request(response):
origin = request.headers.get('Origin', '*')
response.headers['Access-Control-Allow-Origin'] = origin
response.headers['Access-Control-Allow-Credentials'] = 'true'
response.headers['Access-Control-Allow-Headers'] = 'Content-Type,Authorization'
response.headers['Access-Control-Allow-Methods'] = 'GET,PUT,POST,DELETE,OPTIONS'
return response
@app.route('/config', methods=['OPTIONS'])
def config_options():
return '', 200