selenium_elm_fengshen/flask_websoket.py
2024-07-22 21:45:14 +08:00

45 lines
1.6 KiB
Python

import eventlet
eventlet.monkey_patch()
import configparser
import json
import os
from eventlet import wsgi
from flask import Flask, render_template
from flask_socketio import SocketIO, emit
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret!'
socketio = SocketIO(app, async_mode='eventlet', cors_allowed_origins="*")
# 读取配置文件
config = configparser.ConfigParser()
config.read('config.ini', encoding="utf-8")
# 从配置文件中读取参数
host = config.get('web', 'host')
port = config.get('web', 'port')
@app.route('/')
def index():
return render_template('index.html')
@socketio.on('connect')
def handle_connect():
print('Client connected')
@socketio.on('disconnect')
def handle_disconnect():
print('Client disconnected')
@socketio.on('data')
def handle_data_received(json_data):
print('data:', json.loads(json_data)) # data: {'目标时间': 120, '目标工作量': 5, '未及格成员': [['', '', '', '', '', '', '', '', '', '', '', ''], ['王正生\n176****8037', '晚高峰', '-', '否', '下班', '0分钟', '0分钟', '0', '0分钟', '0分钟', '0', '0'], ['黄昆利\n136****5164', '晚高峰', '-', '否', '下班', '0分钟', '0分钟', '0', '0分钟', '0分钟', '0', '0']]}
# 把数据以表格形式更新再html里面
emit('update_table', json.loads(json_data), broadcast=True)
# 在这里处理接收到的数据
@socketio.on('log')
def handle_data_received(json_data):
print('log:', json.dumps(json_data))
# 在这里处理接收到的数据
if __name__ == '__main__':
wsgi.server(eventlet.listen((host, int(os.environ.get('PORT', int(port))))), app)