from flask import Flask, render_template from flask_socketio import SocketIO, emit import sqlite3 import eventlet app = Flask(__name__) socketio = SocketIO(app, async_mode='eventlet') # 从数据库中获取匹配日志记录 def get_match_logs(db_name="face_database.db"): conn = sqlite3.connect(db_name) c = conn.cursor() c.execute("SELECT name, identity,image_path,match_time FROM match_logs") # 去掉了 image_path logs = c.fetchall() conn.close() return logs # 首页,展示匹配记录 @app.route('/') def index(): logs = get_match_logs() return render_template('index.html', logs=logs) # 处理 WebSocket 连接 @socketio.on('connect') def handle_connect(): print('Client connected') emit('update', {'logs': get_match_logs()}) # 发送更新到客户端 def send_updates(): while True: # 模拟实时数据更新 socketio.emit('update', {'logs': get_match_logs()}, broadcast=True) eventlet.sleep(5) # 每 5 秒发送一次更新 if __name__ == '__main__': socketio.start_background_task(send_updates) socketio.run(app, debug=True)