guoj5 commited on
Commit
ed44d00
·
1 Parent(s): 99c87de

Fix bug in app

Browse files
Files changed (1) hide show
  1. backend/app.py +4 -28
backend/app.py CHANGED
@@ -1,4 +1,3 @@
1
- # app.py
2
  from flask import Flask, request, jsonify, send_from_directory
3
  from flask_cors import CORS
4
  import os
@@ -6,16 +5,14 @@ import os
6
  from puzzle_dataset import get_puzzle_by_index
7
  from solver import solve_puzzle
8
 
9
- app = Flask(__name__)
10
- CORS(app) # 如果前后端分开端口,可能需要 CORS
11
-
12
- # 读取 Example.txt 作为默认 sys_content(若用户没给就用默认)
13
  BASE_DIR = os.path.dirname(os.path.abspath(__file__))
14
  example_path = os.path.join(BASE_DIR, "Example.txt")
15
  with open(example_path, "r", encoding="utf-8") as f:
16
  DEFAULT_SYS_CONTENT = f.read()
17
 
 
18
  app = Flask(__name__, static_folder='static', static_url_path='')
 
19
 
20
  @app.route('/')
21
  def index():
@@ -24,9 +21,6 @@ def index():
24
 
25
  @app.route("/get_puzzle", methods=["GET"])
26
  def get_puzzle():
27
- """
28
- 前端通过 query param ?index=xxx 获取 puzzle 内容和 expected_solution
29
- """
30
  idx_str = request.args.get("index", "0")
31
  try:
32
  idx = int(idx_str)
@@ -44,13 +38,8 @@ def get_puzzle():
44
  "expected_solution": solution
45
  })
46
 
47
-
48
  @app.route("/solve", methods=["POST"])
49
  def solve():
50
- """
51
- 前端 POST { index, puzzle, expected_solution, sysContent }
52
- 调用 solve_puzzle,并返回比对结果和执行的 python code
53
- """
54
  data = request.get_json()
55
  puzzle_index = data.get("index")
56
  puzzle_text = data.get("puzzle")
@@ -61,24 +50,11 @@ def solve():
61
  return jsonify({"success": False, "error": "Missing puzzle data"}), 400
62
 
63
  result = solve_puzzle(puzzle_index, puzzle_text, expected_solution, sys_content)
64
- # result 里包含: success, solution, attempts, generatedCode, modelResponse, etc.
65
-
66
- return jsonify({
67
- "success": True,
68
- "result": result
69
- })
70
-
71
 
72
  @app.route("/default_sys_content", methods=["GET"])
73
  def get_default_sys_content():
74
- """
75
- 返回默认的 sys_content (Example.txt) 给前端展示或编辑
76
- """
77
- return jsonify({
78
- "success": True,
79
- "sysContent": DEFAULT_SYS_CONTENT
80
- })
81
-
82
 
83
  if __name__ == "__main__":
84
  app.run(host="0.0.0.0", port=7860, debug=False)
 
 
1
  from flask import Flask, request, jsonify, send_from_directory
2
  from flask_cors import CORS
3
  import os
 
5
  from puzzle_dataset import get_puzzle_by_index
6
  from solver import solve_puzzle
7
 
 
 
 
 
8
  BASE_DIR = os.path.dirname(os.path.abspath(__file__))
9
  example_path = os.path.join(BASE_DIR, "Example.txt")
10
  with open(example_path, "r", encoding="utf-8") as f:
11
  DEFAULT_SYS_CONTENT = f.read()
12
 
13
+ # 只初始化一次
14
  app = Flask(__name__, static_folder='static', static_url_path='')
15
+ CORS(app)
16
 
17
  @app.route('/')
18
  def index():
 
21
 
22
  @app.route("/get_puzzle", methods=["GET"])
23
  def get_puzzle():
 
 
 
24
  idx_str = request.args.get("index", "0")
25
  try:
26
  idx = int(idx_str)
 
38
  "expected_solution": solution
39
  })
40
 
 
41
  @app.route("/solve", methods=["POST"])
42
  def solve():
 
 
 
 
43
  data = request.get_json()
44
  puzzle_index = data.get("index")
45
  puzzle_text = data.get("puzzle")
 
50
  return jsonify({"success": False, "error": "Missing puzzle data"}), 400
51
 
52
  result = solve_puzzle(puzzle_index, puzzle_text, expected_solution, sys_content)
53
+ return jsonify({"success": True, "result": result})
 
 
 
 
 
 
54
 
55
  @app.route("/default_sys_content", methods=["GET"])
56
  def get_default_sys_content():
57
+ return jsonify({"success": True, "sysContent": DEFAULT_SYS_CONTENT})
 
 
 
 
 
 
 
58
 
59
  if __name__ == "__main__":
60
  app.run(host="0.0.0.0", port=7860, debug=False)