error.py 675 B

1234567891011121314151617181920212223
  1. from flask import Blueprint, redirect, url_for
  2. from core.api import ResponseBase
  3. error_api = Blueprint('error_api', __name__)
  4. @error_api.route('/redirect/<error_message>', methods=['GET'])
  5. def redirect_to_error(error_message: str):
  6. """
  7. API错误重定向到全局错误页面
  8. """
  9. return redirect(url_for('error.error_with_message', error_message=error_message))
  10. def handle_api_error(e: Exception, module_name: str = ''):
  11. """
  12. 统一处理API错误
  13. :param e: 异常
  14. :param module_name: 模块名称
  15. :return: API错误响应
  16. """
  17. error_message = f'{module_name}操作失败:{str(e)}'
  18. return ResponseBase.error(error_message)