from flask import Flask, jsonify, request from flask_cors import CORS import json #region 全局 app = Flask(__name__) CORS(app) server_cfg = None data_dict = dict() #endregion #region 接口 # 测试用 @app.route('/api') def hello(): return 'hi. —— CheckGPUsWeb' @app.route('/api/get_data', methods=['GET']) def get_data(): return jsonify(data_dict) @app.route('/api/update_data', methods=['POST']) def receive_data(): data = request.json # 如果存在对应标题则更新记录 if data['title'] in server_cfg['server_list']: data_dict['server_dict'][data['title']] = data # 合并显示信息 if data['title'] in server_cfg['note_dict']: client_note = data_dict['server_dict'][data['title']]['note'] server_note = server_cfg['note_dict'][data['title']] note = server_note if client_note == '' \ else server_note + '\n' + client_note data_dict['server_dict'][data['title']]['note'] = note return jsonify({"status": "success"}) #endregion def init(): data_dict['server_dict'] = dict() for server_name in server_cfg['server_list']: data_dict['server_dict'][server_name] = None def main(): # 加载配置文件 cfg_path = "server_config.json" global server_cfg with open(cfg_path, 'r') as f: server_cfg = json.load(f) init() # flask app.run(debug=False, host=server_cfg['host'], port=server_cfg['port']) if __name__ == '__main__': main()