47 lines
1.6 KiB
Python
47 lines
1.6 KiB
Python
"""统一响应格式工具。"""
|
|
from flask import jsonify
|
|
|
|
|
|
def success(data=None, message="success"):
|
|
"""成功响应。"""
|
|
return jsonify({"code": 0, "message": message, "data": data})
|
|
|
|
|
|
def error(code: int, message: str, status: int = 400):
|
|
"""错误响应。"""
|
|
return jsonify({"code": code, "message": message, "data": None}), status
|
|
|
|
|
|
# 错误码常量
|
|
class ErrorCode:
|
|
# 通用
|
|
PARAM_ERROR = 1001 # 参数错误
|
|
UNAUTHORIZED = 1002 # 未授权
|
|
TOKEN_EXPIRED = 1003 # Token 已过期
|
|
FORBIDDEN = 1004 # 权限不足
|
|
NOT_FOUND = 1005 # 资源不存在
|
|
|
|
# AI 相关
|
|
AI_API_ERROR = 2001 # AI API 调用失败
|
|
AI_TIMEOUT = 2002 # AI API 超时
|
|
AI_WORKFLOW_FAILED = 2003 # Workflow 执行失败
|
|
AI_WORKFLOW_TIMEOUT = 2004 # Workflow 超时
|
|
|
|
# 企微相关
|
|
WECOM_API_ERROR = 3001 # 企微 API 调用失败
|
|
WECOM_TOKEN_ERROR = 3002 # 企微 Token 获取失败
|
|
WECOM_REPLY_ERROR = 3003 # 企微回复失败
|
|
WECOM_CODE_EXPIRED = 3004 # 企微 OAuth code 过期
|
|
WECOM_USER_NOT_FOUND = 3005 # 企微用户不在系统中
|
|
|
|
# 文件相关
|
|
FILE_UPLOAD_ERROR = 4001 # 文件上传失败
|
|
FILE_FORMAT_ERROR = 4002 # 文件格式不支持
|
|
FILE_SIZE_ERROR = 4003 # 文件超大小限制
|
|
FILE_PARSE_ERROR = 4004 # 文件解析失败
|
|
|
|
# 系统相关
|
|
DB_ERROR = 5001 # 数据库错误
|
|
REDIS_ERROR = 5002 # Redis 错误
|
|
SERVER_ERROR = 9999 # 服务器内部错误
|