Files
2026-03-23 23:16:41 +08:00

45 lines
1.1 KiB
Python

import os
from flask import Flask, jsonify, render_template, request
from miniapp_qr_poc import generate_member_qr
app = Flask(__name__)
ADMIN_MEMBER_ID = 104880
@app.get("/")
def index():
return render_template("index.html")
@app.get("/healthz")
def healthz():
return jsonify({"ok": True})
@app.post("/api/generate")
def api_generate():
payload = request.get_json(silent=True)
if payload is None:
payload = request.form
member_id = ADMIN_MEMBER_ID
if payload and payload.get("member_id") not in (None, "", ADMIN_MEMBER_ID, str(ADMIN_MEMBER_ID)):
return jsonify({"ok": False, "error": f"only member_id={ADMIN_MEMBER_ID} is supported"}), 400
try:
result = generate_member_qr(member_id, include_data_url=True)
except ValueError as exc:
return jsonify({"ok": False, "error": str(exc)}), 400
except Exception as exc:
return jsonify({"ok": False, "error": str(exc)}), 500
return jsonify({"ok": True, **result})
if __name__ == "__main__":
host = os.getenv("HOST", "0.0.0.0")
port = int(os.getenv("PORT", "8000"))
app.run(host=host, port=port, debug=False)