message
Change-Id: I695d85abab6a42daffd98b83d1243e983a981d84
diff --git a/API/back/.env b/API/back/.env
new file mode 100644
index 0000000..29a9775
--- /dev/null
+++ b/API/back/.env
@@ -0,0 +1,3 @@
+FLASK_APP=run.py
+FLASK_ENV=development
+SECRET_KEY=your-secret-key
diff --git a/API/back/app/__init__.py b/API/back/app/__init__.py
new file mode 100644
index 0000000..8c7ccec
--- /dev/null
+++ b/API/back/app/__init__.py
@@ -0,0 +1,15 @@
+from flask import Flask
+import os
+
+def create_app():
+ app = Flask(__name__, instance_relative_config=True)
+ # 加载默认配置
+ app.config.from_object('config')
+ # 加载实例配置(写在 .gitignore 中的 instance/config.py)
+ app.config.from_pyfile('config.py', silent=True)
+
+ # 注册蓝本或路由
+ from app.routes import main_bp
+ app.register_blueprint(main_bp)
+
+ return app
diff --git a/API/back/app/routes.py b/API/back/app/routes.py
new file mode 100644
index 0000000..c8fd028
--- /dev/null
+++ b/API/back/app/routes.py
@@ -0,0 +1,15 @@
+from flask import Blueprint, jsonify, current_app
+
+main_bp = Blueprint('main', __name__)
+
+@main_bp.route('/')
+def index():
+ return jsonify({"message": "Hello, Flask!"})
+
+@main_bp.route('/show-config')
+def show_config():
+ # 通过 current_app.config['KEY'] 或 get 方法访问配置项
+ return jsonify({
+ "DEBUG": current_app.config.get('DEBUG'),
+ "SECRET_KEY": current_app.config.get('SECRET_KEY')
+ })
diff --git a/API/back/config.py b/API/back/config.py
new file mode 100644
index 0000000..9e867c8
--- /dev/null
+++ b/API/back/config.py
@@ -0,0 +1,6 @@
+import os
+
+# 通用配置
+DEBUG = False
+TESTING = False
+SECRET_KEY = os.environ.get('SECRET_KEY', 'you-will-never-guess')
diff --git a/API/back/instance/config.py b/API/back/instance/config.py
new file mode 100644
index 0000000..c73bf33
--- /dev/null
+++ b/API/back/instance/config.py
@@ -0,0 +1,2 @@
+# 这里可以覆盖 DEBUG、SECRET_KEY 等
+DEBUG = True
diff --git a/API/back/requirements.txt b/API/back/requirements.txt
new file mode 100644
index 0000000..cf81884
--- /dev/null
+++ b/API/back/requirements.txt
@@ -0,0 +1,2 @@
+Flask>=2.0
+python-dotenv
diff --git a/API/back/run.py b/API/back/run.py
new file mode 100644
index 0000000..61b9d38
--- /dev/null
+++ b/API/back/run.py
@@ -0,0 +1,6 @@
+from app import create_app
+
+app = create_app()
+
+if __name__ == '__main__':
+ app.run(host='0.0.0.0', port=5000)
diff --git a/API/back/tests/test_basic.py b/API/back/tests/test_basic.py
new file mode 100644
index 0000000..561052d
--- /dev/null
+++ b/API/back/tests/test_basic.py
@@ -0,0 +1,14 @@
+import pytest
+from app import create_app
+
+@pytest.fixture
+def client():
+ app = create_app()
+ app.config['TESTING'] = True
+ return app.test_client()
+
+def test_index(client):
+ rv = client.get('/')
+ assert rv.status_code == 200
+ json_data = rv.get_json()
+ assert json_data['message'] == 'Hello, Flask!'