app.py 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. from flask import Flask, request, jsonify
  2. from api import mj_api
  3. from api.error import unauthorized_error
  4. from api.error import system_error
  5. app = Flask(__name__)
  6. @app.route('/')
  7. def hello():
  8. return "Hello World"
  9. # 查询历史所有任务列表
  10. @app.route('/thomas_jobs', methods=['POST'])
  11. def thomas_jobs():
  12. request_data = request.get_json()
  13. if request_data.get('cookie') is None:
  14. return jsonify({"error": "Cookie is missing!"}), 400
  15. if request_data.get('user_id') is None:
  16. return jsonify({"error": "page_size is required!"}), 400
  17. response_json_str = mj_api.thomas_jobs(cookie=request_data.get('cookie'), user_id=request_data.get('user_id'),
  18. page_size=request_data.get('page_size'))
  19. return response_json_str
  20. # 查询指定任务状态
  21. @app.route('/query_job_status', methods=['POST'])
  22. def query_job_status():
  23. request_data = request.get_json()
  24. if request_data.get('cookie') is None:
  25. return jsonify({"error": "Cookie is missing!"}), 400
  26. if request_data.get('job_id') is None:
  27. return jsonify({"error": "job_id is required!"}), 400
  28. response_json_str = mj_api.query_job_status(cookie=request_data.get('cookie'), job_id=request_data.get('job_id'))
  29. return response_json_str
  30. # 查询任务队列
  31. @app.route('/query_job_queue', methods=['POST'])
  32. def query_job_queue():
  33. request_data = request.get_json()
  34. if request_data.get('cookie') is None:
  35. return jsonify({"error": "Cookie is missing!"}), 400
  36. if request_data.get('user_id') is None:
  37. return jsonify({"error": "user_id is required!"}), 400
  38. response_json_str = mj_api.query_job_queue(cookie=request_data.get('cookie'), user_id=request_data.get('user_id'))
  39. return response_json_str
  40. # 提交任务
  41. @app.route('/submit_job', methods=['POST'])
  42. def submit_job():
  43. request_data = request.get_json()
  44. if request_data.get('cookie') is None:
  45. return jsonify({"error": "Cookie is missing!"}), 400
  46. if request_data.get('prompt') is None:
  47. return jsonify({"error": "prompt is required!"}), 400
  48. if request_data.get('user_id') is None:
  49. return jsonify({"error": "user_id is required!"}), 400
  50. response_json_str = mj_api.submit_job(cookie=request_data.get('cookie'), prompt=request_data.get('prompt'),
  51. user_id=request_data.get('user_id'), mode=request_data.get('mode'))
  52. return response_json_str
  53. @app.route('/get_image_urls', methods=['POST'])
  54. def get_image_urls():
  55. request_data = request.get_json()
  56. if request_data.get('job_id') is None:
  57. return jsonify({"error": "job_id is required!"}), 400
  58. urls = mj_api.upload_image_to_oss(job_id=request_data.get('job_id'), image_num=request_data.get('image_num'))
  59. return urls
  60. @app.errorhandler(unauthorized_error)
  61. def handle_unauthorized_error(error):
  62. response = jsonify({"error": str(error)})
  63. response.status_code = 401
  64. return response
  65. @app.errorhandler(system_error)
  66. def handle_system_error(error):
  67. response = jsonify({"error": str(error)})
  68. response.status_code = 500
  69. return response
  70. @app.errorhandler(system_error)
  71. def handle_system_error(error):
  72. response = jsonify({"error": str(error)})
  73. response.status_code = 500
  74. return response
  75. if __name__ == '__main__':
  76. app.run()