match_face/app.py

40 lines
1.1 KiB
Python
Raw Normal View History

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)