result.py 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. from flask import jsonify, make_response
  2. def success(data=None, message="操作成功", code=200):
  3. """
  4. Return a standardized success response
  5. Args:
  6. data: The data to return
  7. message: A success message
  8. code: HTTP status code
  9. Returns:
  10. dict: A standardized success response
  11. """
  12. return {
  13. "code": code,
  14. "message": message,
  15. "data": data
  16. }
  17. def failed(message="操作失败", code=500, data=None, error=None):
  18. """
  19. Return a standardized error response
  20. Args:
  21. message: An error message
  22. code: HTTP status code
  23. data: Optional data to return
  24. error: Detailed error information
  25. Returns:
  26. dict: A standardized error response
  27. """
  28. result = {
  29. "code": code,
  30. "message": message,
  31. "data": data
  32. }
  33. if error is not None:
  34. result["error"] = error
  35. return result
  36. def json_response(data, status_code=200):
  37. """
  38. Create a JSON response with proper headers
  39. Args:
  40. data: The data to return (will be passed to jsonify)
  41. status_code: HTTP status code
  42. Returns:
  43. Flask Response object with proper JSON headers
  44. """
  45. response = make_response(jsonify(data), status_code)
  46. response.headers['Content-Type'] = 'application/json; charset=utf-8'
  47. return response
  48. def success_response(data=None, message="操作成功", status_code=200):
  49. """
  50. Return a standardized success response with proper headers
  51. Args:
  52. data: The data to return
  53. message: A success message
  54. status_code: HTTP status code
  55. Returns:
  56. Flask Response object with proper JSON headers
  57. """
  58. return json_response(success(data, message, status_code), status_code)
  59. def failed_response(message="操作失败", status_code=500, data=None, error=None):
  60. """
  61. Return a standardized error response with proper headers
  62. Args:
  63. message: An error message
  64. status_code: HTTP status code
  65. data: Optional data to return
  66. error: Detailed error information
  67. Returns:
  68. Flask Response object with proper JSON headers
  69. """
  70. return json_response(
  71. failed(message, status_code, data, error), status_code
  72. )