45 lines
1.6 KiB
Python
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) |