From 9cff7eda096934d7d0182d7d14161336cdf48bf2 Mon Sep 17 00:00:00 2001
From: lzz <xiguabobo_2020@qq.com>
Date: 星期五, 08 十一月 2024 12:28:55 +0800
Subject: [PATCH] Merge branch 'master' of ssh://115.28.86.8:29418/~admin/昆仑_1025

---
 /dev/null                          |   17 --------
 Server/王琨元/code/MysqlConn.h        |    1 
 Server/王琨元/log/日志模板_王琨元_1107.doc   |    0 
 Server/王琨元/code/MysqlConn.cpp      |   20 +--------
 表.docx                             |    0 
 Server/马渝杭/log/20241107昆仑日报.doc    |    0 
 kunlun.sql                         |   26 +++++--------
 Client/李宵增/log/历史查询_李宵增_1106.doc   |    0 
 Server/马渝杭/log/日志_马渝杭_20241107.doc |    0 
 Client/宋昊昳/log/日志_宋昊昳_1107.doc     |    0 
 10 files changed, 14 insertions(+), 50 deletions(-)

diff --git "a/Client/\345\256\213\346\230\212\346\230\263/log/\346\227\245\345\277\227_\345\256\213\346\230\212\346\230\263_1107.doc" "b/Client/\345\256\213\346\230\212\346\230\263/log/\346\227\245\345\277\227_\345\256\213\346\230\212\346\230\263_1107.doc"
new file mode 100644
index 0000000..111c811
--- /dev/null
+++ "b/Client/\345\256\213\346\230\212\346\230\263/log/\346\227\245\345\277\227_\345\256\213\346\230\212\346\230\263_1107.doc"
Binary files differ
diff --git "a/Client/\346\234\261\350\210\252/code/kunlunclient/clientmainwindow.cpp" "b/Client/\346\234\261\350\210\252/code/kunlunclient/clientmainwindow.cpp"
deleted file mode 100644
index 10656a5..0000000
--- "a/Client/\346\234\261\350\210\252/code/kunlunclient/clientmainwindow.cpp"
+++ /dev/null
@@ -1,52 +0,0 @@
-锘�#include "clientmainwindow.h"
-#include "ui_clientmainwindow.h"
-#include <QDebug>
-#pragma execution_character_set("utf-8")
-
-ClientMainWindow::ClientMainWindow(QWidget *parent) :
-    QMainWindow(parent),
-    ui(new Ui::ClientMainWindow)
-{
-    ui->setupUi(this);
-
-    m_client = new QTcpSocket(this);
-    m_client->connectToHost("127.0.0.1",16888);
-    if(m_client->waitForConnected()){
-        qDebug()<<"conn success";
-        //鍏宠仈鏀跺寘妲�
-        connect(m_client,SIGNAL(readyRead()),this,SLOT(myRead()));
-        //璋冪敤鐣岄潰鍒濆鍖�
-        initUi();
-    }else{
-        qDebug()<<"conn fail:"<<m_client->errorString();
-    }
-
-
-}
-
-ClientMainWindow::~ClientMainWindow()
-{
-    delete ui;
-}
-
-void ClientMainWindow::initUi()
-{
-    //m_logSer = new LogQuery(this);
-    m_logSer = new LogQuery(m_client,this);
-    ui->tabWidget->addTab(m_logSer,"鏃ュ織鏌ヨ");
-    connect(this,SIGNAL(queryResSignal(LogQueryRes*)),m_logSer,SLOT(queryResSlot(LogQueryRes*)));
-}
-
-void ClientMainWindow::myRead()
-{
-    QByteArray buffer = m_client->readAll();
-    qDebug()<< "buffer.size():"<<buffer.size();
-    qDebug()<< "buffer:"<<buffer;
-    int type = ((Head*)buffer.data())->type;
-    qDebug()<<"type:"<<type;
-    if(type == LOGSEARCH_RES){
-        LogQueryRes *res = (LogQueryRes*)buffer.data();
-        qDebug()<< "status:"<<res->status;
-        emit queryResSignal(res);//鍙戜俊鍙风粰鏃ュ織鏌ヨ鐣岄潰
-    }
-}
diff --git "a/Client/\346\234\261\350\210\252/code/kunlunclient/clientmainwindow.h" "b/Client/\346\234\261\350\210\252/code/kunlunclient/clientmainwindow.h"
deleted file mode 100644
index e74e0a5..0000000
--- "a/Client/\346\234\261\350\210\252/code/kunlunclient/clientmainwindow.h"
+++ /dev/null
@@ -1,34 +0,0 @@
-锘�#ifndef CLIENTMAINWINDOW_H
-#define CLIENTMAINWINDOW_H
-
-#include <QMainWindow>
-#include "logquery.h"
-#include "common.h"
-#include <QTcpSocket>
-#pragma execution_character_set("utf-8")
-
-namespace Ui {
-class ClientMainWindow;
-}
-
-class ClientMainWindow : public QMainWindow
-{
-    Q_OBJECT
-
-public:
-    explicit ClientMainWindow(QWidget *parent = 0);
-    ~ClientMainWindow();
-
-    void initUi();
-
-signals:
-    void queryResSignal(LogQueryRes *);//鏃ュ織鏌ヨ鍝嶅簲淇″彿
-private slots:
-    void myRead();
-private:
-    Ui::ClientMainWindow *ui;
-    LogQuery *m_logSer;
-    QTcpSocket *m_client;
-};
-
-#endif // CLIENTMAINWINDOW_H
diff --git "a/Client/\346\234\261\350\210\252/code/kunlunclient/clientmainwindow.ui" "b/Client/\346\234\261\350\210\252/code/kunlunclient/clientmainwindow.ui"
deleted file mode 100644
index 2c83af9..0000000
--- "a/Client/\346\234\261\350\210\252/code/kunlunclient/clientmainwindow.ui"
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>ClientMainWindow</class>
- <widget class="QMainWindow" name="ClientMainWindow">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>663</width>
-    <height>537</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>ClientMainWindow</string>
-  </property>
-  <widget class="QWidget" name="centralWidget">
-   <layout class="QGridLayout" name="gridLayout">
-    <item row="0" column="0">
-     <widget class="QTabWidget" name="tabWidget">
-      <property name="currentIndex">
-       <number>1</number>
-      </property>
-      <widget class="QWidget" name="tab">
-       <attribute name="title">
-        <string>瀹炴椂澶у睆</string>
-       </attribute>
-      </widget>
-      <widget class="QWidget" name="tab_2">
-       <attribute name="title">
-        <string>绯荤粺璁剧疆</string>
-       </attribute>
-      </widget>
-     </widget>
-    </item>
-   </layout>
-  </widget>
-  <widget class="QMenuBar" name="menuBar">
-   <property name="geometry">
-    <rect>
-     <x>0</x>
-     <y>0</y>
-     <width>663</width>
-     <height>23</height>
-    </rect>
-   </property>
-  </widget>
-  <widget class="QToolBar" name="mainToolBar">
-   <attribute name="toolBarArea">
-    <enum>TopToolBarArea</enum>
-   </attribute>
-   <attribute name="toolBarBreak">
-    <bool>false</bool>
-   </attribute>
-  </widget>
-  <widget class="QStatusBar" name="statusBar"/>
- </widget>
- <layoutdefault spacing="6" margin="11"/>
- <resources/>
- <connections/>
-</ui>
diff --git "a/Client/\346\234\261\350\210\252/code/kunlunclient/common.h" "b/Client/\346\234\261\350\210\252/code/kunlunclient/common.h"
deleted file mode 100644
index 13ee96b..0000000
--- "a/Client/\346\234\261\350\210\252/code/kunlunclient/common.h"
+++ /dev/null
@@ -1,1062 +0,0 @@
-锘�#ifndef COMMON_H
-#define COMMON_H
-
-#include <string.h>
-
-enum TypeInfo {
-
-	//娉ㄥ唽鐧诲綍
-	LOGIN_REQ, // 鐧诲綍璇锋眰
-	LOGIN_RES, // 鐧诲綍鍝嶅簲
-	REGISTER_REQ, //娉ㄥ唽璇锋眰
-	REGISTER_RES, //娉ㄥ唽鍝嶅簲
-	RESET_REQ, //閲嶇疆瀵嗙爜璇锋眰
-	RESET_RES, //閲嶇疆瀵嗙爜鍝嶅簲
-
-
-	//鏉冮檺绠$悊
-	QUERY_PMS_REQ,      // 鎸夊憳宸ョ紪鍙枫�佸悕瀛楁垨鑱屼綅鏌ヨ浜哄憳鏉冮檺淇℃伅璇锋眰
-	UPDATE_PMS_REQ,     // 鎸夎鑹瞚d鏇存柊鏉冮檺淇℃伅璇锋眰
-	QUERY_PMS_RES,      // 鏌ヨ浜哄憳鍜岃鑹蹭俊鎭殑鍝嶅簲缁撴瀯浣�
-	UPDATE_PMS_RES,     // 鏉冮檺鏇存柊缁撴灉鍝嶅簲浣�
-
-	//璁惧绠$悊
-	AD_REQ,//娣诲姞璁惧璇锋眰
-	AD_RES,//娣诲姞璁惧鍝嶅簲
-	MD_REQ,//淇敼璁惧璇锋眰
-	MD_RES,//淇敼璁惧鍝嶅簲
-	QD_REQ,//鏌ヨ璁惧璇锋眰
-	QD_RES,//鏌ヨ璁惧鍝嶅簲
-
-	//鍦板浘鏍囨敞
-	MML_REQ,//鍦板浘鏍囨敞鍔犺浇璇锋眰
-	MML_RES,//鍦板浘鏍囨敞鍔犺浇鍝嶅簲	
-	MMI_REQ,//鍦板浘鏍囨敞鎻掑叆璇锋眰
-	MMI_RES,//鍦板浘鏍囨敞鎻掑叆鍝嶅簲	
-	MMD_REQ,//鍦板浘鏍囨敞鍒犻櫎璇锋眰
-	MMD_RES,//鍦板浘鏍囨敞鍒犻櫎鍝嶅簲
-
-	//澶у睆鏄剧ず
-	ENVIRONMENT_REQ,//鐜鏁版嵁璇锋眰
-	ENVIRONMENT_RES,//鐜鏁版嵁鍝嶅簲
-	DEVICESTATUS_REQ,//璁惧鐘舵�佽姹�
-	DEVICESTATUS_RES,//璁惧鐘舵�佸搷搴�
-	MOVEMENTRECORD_REQ,//鎿嶄綔鏃ュ織璇锋眰
-	MOVEMENTRECORD_RES,//鎿嶄綔鏃ュ織鍝嶅簲
-	ALARMRECORD_REQ,//璀︽姤璁板綍璇锋眰
-	ALARMRECORD_RES,//璀︽姤璁板綍鍝嶅簲
-	YIELD_REQ,//鐓ょ熆浜ч噺璇锋眰
-	YIELD_RES,//鐓ょ熆浜ч噺鍝嶅簲
-
-	//璀︽姤绠$悊
-	WARNING_REQ, // 璀︽姤璇锋眰
-	WARNING_RES, // 璀︽姤鍝嶅簲
-
-
-	//鐢熶骇璁″垝绠$悊
-	ADD_PDPLAN_REQ,//娣诲姞涓�鏉$敓浜ц鍒掔殑璇锋眰缁撴瀯浣�
-	ADD_PDPLAN_RES,//娣诲姞涓�鏉$敓浜ц鍒掔殑鍝嶅簲缁撴瀯浣�
-	DEL_PDPLAN_REQ,//鍒犻櫎涓�鏉$敓浜ц鍒掔殑璇锋眰缁撴瀯浣�
-	DEL_PDPLAN_RES,//鍒犻櫎涓�鏉$敓浜ц鍒掔殑鍝嶅簲缁撴瀯浣�
-	UPDATE_PDPLAN_REQ,//鏇存敼涓�鏉$敓浜ц鍒掔殑璇锋眰缁撴瀯浣�
-	UPDATE_PDPLAN_RES,//鏇存敼涓�鏉$敓浜ц鍒掔殑鍝嶅簲缁撴瀯浣�
-	QUERY_PDPLAN_REQ,//鏌ヨ涓�鏉$敓浜ц鍒掔殑璇锋眰缁撴瀯浣�
-	QUERY_PDPLAN_RES,//鏌ヨ涓�鏉$敓浜ц鍒掔殑鍝嶅簲缁撴瀯浣�
-
-
-	ADD_MONOUTPUT_REQ,//娣诲姞鏈堜骇閲忕殑璇锋眰缁撴瀯浣�
-	ADD_MONOUTPUT_RES,//娣诲姞鏈堜骇閲忕殑鍝嶅簲缁撴瀯浣�
-	DEL_MONOUTPUT_REQ,//鍒犻櫎鏈堜骇閲忕殑璇锋眰缁撴瀯浣�
-	DEL_MONOUTPUT_RES,//鍒犻櫎鏈堜骇閲忕殑鍝嶅簲缁撴瀯浣�
-	UPDATE_MONOUTPUT_REQ,//鏇存柊鏈堜骇閲忕殑璇锋眰缁撴瀯浣�
-	UPDATE_MONOUTPUT_RES,//鏇存柊鏈堜骇閲忕殑鍝嶅簲缁撴瀯浣�
-	QUERY_MONOUTPUT_REQ,//鏌ヨ鏈堜骇閲忕殑璇锋眰缁撴瀯浣�
-	QUERY_MONOUTPUT_RES,//鏌ヨ鏈堜骇閲忕殑鍝嶅簲缁撴瀯浣�
-
-
-	//鑷姩鍗囩骇
-	VERSION_NUM_REQ,  // 鐗堟湰鍙疯姹�
-	VERSION_NUM_RES,   // 鐗堟湰鍙峰搷搴�
-	UPLOAD_FILE_REQ, // 涓婁紶鏂囦欢鐨勮姹�
-	UPLOAD_FILE_RES, // 涓婁紶鏂囦欢鐨勫搷搴�
-	VERSION_INFOENTRY_REQ,       // 鐗堟湰淇℃伅褰曞叆璇锋眰
-	VERSION_INFOENTRY_RES,       //鐗堟湰淇℃伅褰曞叆鍝嶅簲
-	VERSION_UPDATE_REQ, // 鐗堟湰鏇存柊璇锋眰
-	VERSION_UPDATE_RES, // 鐗堟湰鏇存柊鍝嶅簲
-	FILE_DOWNLOADS_REQ, // 鐗堟湰鏇存柊鏂囦欢涓嬭浇璇锋眰
-	FILE_DOWNLOADS_RES, // 鐗堟湰鏇存柊鏂囦欢涓嬭浇鍝嶅簲
-	DOWNLOAD_SUCCESSFULLY_RES,       // 鏇存柊鏂囦欢涓嬭浇鎴愬姛鐨勫搷搴�
-
-	//鏃ュ織
-	LOGSEARCH_REQ,//鏃ュ織鏌ヨ璇锋眰
-
-	LOGSEARCH_RES,//鏃ュ織鏌ヨ鍝嶅簲
-
-};
-
-struct Head {
-	int type;
-	int len;
-};
-
-//娉ㄥ唽鐧诲綍
-//鐧诲綍璇锋眰 
-struct LoginReq
-{
-	Head head;
-	char userName[32];
-	char password[32];
-	LoginReq() {
-		head.type = LOGIN_REQ;
-		head.len = sizeof(LoginReq);
-	}
-};
-
-struct Permission
-{
-	int admin;//瓒呯骇绠$悊鍛�
-	int loggerSearch; //鏃ュ織鏌ヨ
-	int queryHistory; //鍘嗗彶璁板綍
-	int mapMark;//鍦板浘
-	int versionManage; // 鐗堟湰绠$悊
-	int warning; //璀︽姤
-	int devManage; //璁惧绠$悊
-	int productPlan;//鐢熶骇璁″垝
-	char roleName[32]; // 瑙掕壊鍚�
-};
-
-//鐧诲綍鍝嶅簲
-struct LoginRes
-{
-	Head head;
-	char userName[32];
-	int status; // 鐧诲綍鐘舵��
-	// 鐧诲綍鎴愬姛鏃讹紝璇ヨ处鍙峰搴旂殑鏉冮檺缁勫悎
-	Permission per;
-	LoginRes()
-	{
-		head.type = LOGIN_RES;
-		head.len = sizeof(LoginRes);
-	}
-};
-
-//娉ㄥ唽璇锋眰 
-struct RegisterReq
-{
-	Head head;
-	char userName[32];
-	char password[32];
-	char email[50];
-	char capcha[10];//楠岃瘉鐮�
-	char telephone[32];
-	RegisterReq() {
-		head.type = REGISTER_REQ;
-		head.len = sizeof(RegisterReq);
-	}
-};
-
-//娉ㄥ唽鍝嶅簲
-struct RegisterRes
-{
-	Head head;
-	char userName[32];
-	int status; // 娉ㄥ唽鐘舵��
-	RegisterRes()
-	{
-		head.type = REGISTER_RES;
-		head.len = sizeof(RegisterRes);
-	}
-};
-
-//閲嶇疆瀵嗙爜璇锋眰 
-struct ResetReq
-{
-	Head head;
-	char email[50];
-	char capcha[10];//楠岃瘉鐮�
-	char password[32];//鏂板瘑鐮�
-	char confirmPassword[32];//纭瀵嗙爜
-	ResetReq() {
-		head.type = RESET_REQ;
-		head.len = sizeof(ResetReq);
-	}
-};
-
-//閲嶇疆瀵嗙爜鍝嶅簲
-struct ResetRes
-{
-	Head head;
-	char user_name[32];
-	int status; // 閲嶇疆瀵嗙爜鐘舵��
-	ResetRes()
-	{
-		head.type = RESET_RES;
-		head.len = sizeof(ResetRes);
-	}
-};
-
-//鏉冮檺绠$悊
-// 鎸夊憳宸ョ紪鍙枫�佸悕瀛楁垨鑱屼綅鏌ヨ浜哄憳鏉冮檺淇℃伅璇锋眰
- struct QueryPmsReq {
-	Head head;
-	char userNo[32];
-	char name[32];
-	char permissonType[32];
-	QueryPmsReq() {
-		head.type = QUERY_PMS_REQ;
-		memset(userNo, 0, 32);
-		memset(permissonType, 0, 32);
-		memset(name, 0, 32);
-		head.len = sizeof(QueryPmsReq);
-	}
-};
-
-// 鎸夎鑹瞚d鏇存柊鏉冮檺淇℃伅璇锋眰
-struct UpdatePmsReq {
-	Head head;
-	// 浜哄憳琛ㄤ富閿甶d
-	int id;
-	int queryHistory;
-	int loggerSearch;
-	int mapMark;
-	int devManage;
-	int productPlan;
-	int warningManage;
-	int versionManage; //鐗堟湰绠$悊
-	int admin; //绯荤粺绠$悊鍛�
-	UpdatePmsReq() {
-		head.type = QUERY_PMS_RES;
-		head.len = sizeof(UpdatePmsReq);
-	}
-} ;
-
-// 鍗曚釜浜哄憳鍜屾潈闄愯仈鍚堟煡璇㈢粨鏋勪綋
- struct PmsRes {
-	int queryHistory;
-	int loggerSearch;
-	int mapMark;
-	int devManage;
-	int productPlan;
-	int id;
-
-	char userNo[32];
-	char name[32];
-
-	char permissonType[32];  // 瑙掕壊绫诲瀷
-	int versionManage; //鐗堟湰绠$悊
-	int admin; //绯荤粺绠$悊鍛�
-	char department[32];
-	char loginTime[32];
-	char registerTime[32];
-};
-
-// 鏌ヨ浜哄憳鍜岃鑹蹭俊鎭殑鍝嶅簲缁撴瀯浣�
- struct QueryPmsRes {
-	Head head;
-	int success; // 1涓烘垚鍔� ,0涓哄け璐�
-	PmsRes pmsList[0];
-	QueryPmsRes() {
-		head.type = QUERY_PMS_REQ;
-	}
-};
-
-// 鏉冮檺鏇存柊缁撴灉鍝嶅簲浣�
-struct UpdatePmsRes {
-	Head head;
-	int success; // 1涓烘垚鍔� ,0涓哄け璐�
-	UpdatePmsRes() {
-		head.type = UPDATE_PMS_RES;
-		head.len = sizeof(UpdatePmsRes);
-	}
-
-};
-
-
-
-
-//璁惧绠$悊
-struct DevicesInfo
-{
-	int deviceID;
-	char deviceName[32];//璁惧鍚嶇О
-	char deviceStatus[32];//璁惧鐘舵��
-	char manufacturer[100];//鍘傚
-	char devicesType[32];//璁惧绫诲瀷
-	double longitude;//缁忓害
-	double latitude;//绾害
-	char purchasingTime[15];//璐拱鏃堕棿
-	char installTime[15];//瀹夎鏃堕棿
-	char devicesSerialNumber[32];//璁惧缂栫爜
-};
-//娣诲姞璁惧
-struct ADReq//娣诲姞璇锋眰
-{
-	Head head;
-	char deviceName[32];
-	ADReq() {
-		head.type = AD_REQ;
-		head.len = sizeof(ADReq);
-	}
-
-};
-
-struct ADRes//娣诲姞鍝嶅簲
-{
-	Head head;
-	int type;
-	ADRes() {
-		head.type = AD_RES;
-		head.len = sizeof(ADRes);
-	}
-
-};
-//淇敼璁惧
-struct MDRes//淇敼璇锋眰
-{
-	Head head;
-	DevicesInfo info;
-	MDRes() {
-		head.type = MD_RES;
-		head.len = sizeof(MDRes);
-	}
-};
-struct MDReq//淇敼鍝嶅簲
-{
-	Head head;
-	int type;
-	MDReq() {
-		head.type = MD_REQ;
-		head.len = sizeof(MDReq);
-	}
-};
-//鏌ヨ璁惧
-struct QDReq//鏌ヨ璇锋眰
-{
-	Head head;
-	DevicesInfo info;
-	QDReq() {
-		head.type = QD_REQ;
-		head.len = sizeof(QDReq);
-	}
-};
-struct QDRes//鏌ヨ鍝嶅簲
-{
-	Head head;
-	int type;
-	QDRes() {
-		head.type = QD_RES;
-		head.len = sizeof(QDRes);
-	}
-};
-
-
-//鍦板浘鏍囨敞
-struct MarkInfo
-{
-	int markId;//鏍囨敞鐐筰d
-	double latitude;//绾害
-	double longitude;//缁忓害
-	int deviceId;//璁惧ID
-	int deviceStatus;//璁惧鐘舵��
-	char deviceName[32];//璁惧鍚嶇О
-};
-//鍦板浘鏍囨敞鍔犺浇璇锋眰
-struct MMLReq//鍦板浘
-{
-	Head head;
-	MMLReq() {
-		head.type = MML_REQ;
-		head.len = sizeof(MMLReq);
-	}
-};
-//鍦板浘鏍囨敞鍔犺浇鍝嶅簲锛�
-struct MMLRes
-{
-	Head head;
-	int status;//鎿嶄綔鐘舵��
-	MarkInfo info[0];
-	MMLRes() {
-		head.type = MML_RES;
-		head.len = sizeof(MMLRes);
-	}
-};
-//鍦板浘鏍囨敞鎻掑叆璇锋眰
-struct MMIReq//鍦板浘
-{
-	Head head;
-	MarkInfo info[0];
-	MMIReq() {
-		head.type = MMI_REQ;
-		head.len = sizeof(MMIReq);
-	}
-};
-//鍦板浘鏍囨敞鎻掑叆鍝嶅簲锛�
-struct MMIRes
-{
-	Head head;
-	int status;//鎿嶄綔鐘舵��
-	MarkInfo info[0];
-	MMIRes() {
-		head.type = MMI_RES;
-		head.len = sizeof(MMIRes);
-	}
-};
-
-//鍦板浘鏍囨敞鍒犻櫎璇锋眰
-struct MMDReq//鍦板浘
-{
-	Head head;
-	MarkInfo info[0];
-	MMDReq() {
-		head.type = MMD_REQ;
-		head.len = sizeof(MMDReq);
-	}
-};
-//鍦板浘鏍囨敞鍒犻櫎鍝嶅簲锛�
-struct MMDRes
-{
-	Head head;
-	int status;//鎿嶄綔鐘舵��
-	MarkInfo info[0];
-	MMDRes() {
-		head.type = MMD_RES;
-		head.len = sizeof(MMDRes);
-	}
-};
-
-//澶у睆鏄剧ず
-//鐜鏁版嵁璇锋眰
-struct EnvironmentReq
-{
-	Head head;
-	EnvironmentReq() {
-		head.type = ENVIRONMENT_REQ;
-		head.len = sizeof(EnvironmentReq);
-	}
-};
-//鐜鏁版嵁鍝嶅簲
-struct Environment
-{
-	double longitude;//缁忓害
-	double latitude;//绾害
-	float temp;//娓╁害
-	float humidity;//婀垮害
-	float oxygen;//姘ф皵娴撳害
-	float carbon;//涓�姘у寲纰虫祿搴�
-};
-struct EnvironmentRes
-{
-	Head head;
-	int status;
-	Environment environment[0];
-	EnvironmentRes() {
-		head.type = ENVIRONMENT_RES;
-		head.len = sizeof(EnvironmentRes);
-	}
-};
-//璁惧鐘舵�佽姹�
-struct DeviceStatusReq
-{
-	Head head;
-	DeviceStatusReq() {
-		head.type = DEVICESTATUS_REQ;
-		head.len = sizeof(DeviceStatusReq);
-	}
-};
-//璁惧鐘舵�佸搷搴�
-struct DeviceStatus
-{
-	double longitude;//缁忓害
-	double latitude;//绾害
-	int deviceID;//璁惧缂栧彿
-	char deviceName[32];//璁惧鍚嶇О
-	char deviceStatus[32];//璁惧鐘舵��
-};
-struct DeviceStatusRes
-{
-	Head head;
-	int status;
-	DeviceStatus deviceStatus[0];
-	DeviceStatusRes() {
-		head.type = DEVICESTATUS_RES;
-		head.len = sizeof(DeviceStatusRes);
-	}
-};
-//鎿嶄綔鏃ュ織璇锋眰
-struct MovementRecordReq
-{
-	Head head;
-	MovementRecordReq() {
-		head.type = MOVEMENTRECORD_REQ;
-		head.len = sizeof(MovementRecordReq);
-	}
-};
-//鎿嶄綔鏃ュ織鍝嶅簲
-struct MovementRecord
-{
-	double longitude;//缁忓害
-	double latitude;//绾害
-	char userName;//鎿嶄綔鐢ㄦ埛鍚�
-	char operateTime[32];//鎿嶄綔鏃堕棿
-	char deviceName[32];//鎿嶄綔璁惧
-	char movement[256];//鎿嶄綔鎻忚堪
-};
-struct MovementRecordRes
-{
-	Head head;
-	int status;
-	MovementRecord movementRecord[0];
-	MovementRecordRes() {
-		head.type = MOVEMENTRECORD_RES;
-		head.len = sizeof(MovementRecordRes);
-	}
-};
-//璀︽姤璁板綍璇锋眰
-struct AlarmRecordReq
-{
-	Head head;
-	AlarmRecordReq() {
-		head.type = ALARMRECORD_REQ;
-		head.len = sizeof(AlarmRecordReq);
-	}
-};
-//璀︽姤璁板綍鍝嶅簲
-struct AlarmRecord
-{
-	double longitude;//缁忓害
-	double latitude;//绾害
-	char alarmTime[32];//璀︽姤鏃堕棿
-	char alarmtype[32];//澶勭悊鏃堕棿
-	char alarmContent[256];//璀︽姤鍐呭
-};
-struct AlarmRecordRes
-{
-	Head head;
-	int status;
-	AlarmRecord alarmRecord[0];
-	AlarmRecordRes() {
-		head.type = ALARMRECORD_RES;
-		head.len = sizeof(AlarmRecordRes);
-	}
-};
-//鐓ょ熆浜ч噺璇锋眰
-struct YieldReq
-{
-	Head head;
-	YieldReq() {
-		head.type = YIELD_REQ;
-		head.len = sizeof(YieldReq);
-	}
-};
-//鐓ょ熆浜ч噺鍝嶅簲
-struct Yield
-{
-	int month;//鏈堜唤
-	int output;//浜ч噺
-};
-struct YieldRes
-{
-	Head head;
-	int status;
-	Yield yield[0];
-	YieldRes() {
-		head.type = YIELD_RES;
-		head.len = sizeof(YieldRes);
-	}
-};
-
-//璀︽姤绠$悊
-// 璀︽姤璇锋眰缁撴瀯浣�  
-struct WarningReq {
-	Head head;
-
-	float oxygenWarning;
-	float carbonWarning;
-	float tempWarning;
-	float humidityWarning;
-
-	WarningReq() {
-		head.type = WARNING_REQ;
-		head.len = sizeof(WarningReq);
-	}
-};
-
-
-struct DataThreshold {
-	//闃堝��
-	float oxygenThreshold;
-	float carbonThreshold;
-	float tempThreshold;
-	float humidityThreshold;
-};
-
-struct Data {
-	float oxygen;   // 姘ф皵娴撳害  
-	float carbon;   // 涓�姘у寲纰虫祿搴�  
-	float temp;     // 娓╁害  
-	float humidity; // 婀垮害 
-};
-
-// 璀︽姤鍝嶅簲缁撴瀯浣�  
-struct WarningRes {
-	Head head;
-	int status;         // 鍝嶅簲鐘舵�侊紙姣斿 0 琛ㄧず鎴愬姛锛�1 琛ㄧず澶辫触绛夛級  
-	const char* message; // 鍝嶅簲娑堟伅鎻忚堪  
-
-	WarningRes(int stat, const char* msg) {
-		head.type = WARNING_RES;
-		head.len = sizeof(WarningRes);
-		status = stat;
-		message = msg;
-	}
-};
-
-//鐢熶骇璁″垝绠$悊
-struct PdplanInfo
-{
-	int planId;//璁㈠崟缂栧彿
-	char planName[32];//璁㈠崟鍚嶅瓧
-	char startDate[32];//璧峰鏃ユ湡
-	char closingDate[32];//浜や粯鏃ユ湡
-	char pdName[8];//浜у搧鍚�
-	double plannedPd;//璁″垝鐢熶骇閲�
-	double actualPd;//瀹為檯鐢熶骇閲�
-	double progress;//鐢熶骇杩涘害
-	int finishOntime;//鏄惁鎸夋湡瀹屾垚
-};
-
-struct MonoutputInfo
-{
-	int month;//鏈堜唤
-	double aOutput;//a浜у搧鏈堜骇閲�
-	double bOutput;//b浜у搧鏈堜骇閲�
-	double cOutput;//c浜у搧鏈堜骇閲�
-};
-
-//娣诲姞涓�鏉$敓浜ц鍒掔殑璇锋眰缁撴瀯浣�
-struct AddPdplanReq
-{
-	Head head;
-	PdplanInfo info[0];
-	AddPdplanReq() {
-		head.type = ADD_PDPLAN_REQ;
-		head.len = sizeof(AddPdplanReq);
-	}
-};
-
-//娣诲姞涓�鏉$敓浜ц鍒掔殑鍝嶅簲缁撴瀯浣�
-struct AddPdplanRes
-{
-	Head head;
-	int status;//琛ㄧず鏄惁娣诲姞鎴愬姛锛�0鍚�1鏄�
-	AddPdplanRes() {
-		head.type = ADD_PDPLAN_RES;
-		head.len = sizeof(AddPdplanRes);
-	}
-};
-
-//鍒犻櫎涓�鏉$敓浜ц鍒掔殑璇锋眰缁撴瀯浣�
-struct DelPdplanReq
-{
-	Head head;
-	PdplanInfo info[0];
-	DelPdplanReq() {
-		head.type = DEL_PDPLAN_REQ;
-		head.len = sizeof(DelPdplanReq);
-	}
-};
-
-//鍒犻櫎涓�鏉$敓浜ц鍒掔殑鍝嶅簲缁撴瀯浣�
-struct DelPdplanRes
-{
-	Head head;
-	int status;//琛ㄧず鏄惁鍒犻櫎鎴愬姛锛�0鍚�1鏄�
-	DelPdplanRes() {
-		head.type = DEL_PDPLAN_RES;
-		head.len = sizeof(DelPdplanRes);
-	}
-};
-
-//鏇存敼涓�鏉$敓浜ц鍒掔殑璇锋眰缁撴瀯浣�.
-struct UpdatePdplanReq
-{
-	Head head;
-	PdplanInfo info[0];
-	UpdatePdplanReq() {
-		head.type = UPDATE_PDPLAN_REQ;
-		head.len = sizeof(UpdatePdplanReq);
-	}
-};
-
-//鏇存敼涓�鏉$敓浜ц鍒掔殑鍝嶅簲缁撴瀯浣�
-struct UpdatePdplanRes
-{
-	Head head;
-	int status;//琛ㄧず鏄惁鏇存柊鎴愬姛锛�0鍚�1鏄�
-	PdplanInfo info[0];
-	UpdatePdplanRes() {
-		head.type = UPDATE_PDPLAN_RES;
-		head.len = sizeof(UpdatePdplanRes);
-	}
-};
-
-//鏌ヨ涓�鏉$敓浜ц鍒掔殑璇锋眰缁撴瀯浣�
-struct QueryPdplanReq
-{
-	Head head;
-	int planId;//璁㈠崟缂栧彿
-	char planName[32];//璁㈠崟鍒掑悕瀛�
-	char startDate[32];//璧峰鏃ユ湡
-	char closingDate[32];//浜や粯鏃ユ湡
-	char pdName[8];//浜у搧鍚�
-	double plannedPd;//璁″垝鐢熶骇閲�
-	double actualPd;//瀹為檯鐢熶骇閲�
-	double progress;//鐢熶骇杩涘害
-	int finishOntime;//鏄惁鎸夋湡瀹屾垚
-	QueryPdplanReq() {
-		head.type = QUERY_PDPLAN_REQ;
-		head.len = sizeof(QueryPdplanReq);
-	}
-};
-
-//鏌ヨ涓�鏉$敓浜ц鍒掔殑鍝嶅簲缁撴瀯浣�
-struct QueryPdplanRes
-{
-	Head head;
-	int status;//琛ㄧず鏄惁娣诲姞鎴愬姛锛�0鍚�1鏄�
-	PdplanInfo info[0];
-	QueryPdplanRes() {
-		head.type = QUERY_PDPLAN_RES;
-		head.len = sizeof(QueryPdplanRes);
-	}
-};
-
-
-//娣诲姞鏈堜骇閲忕殑璇锋眰缁撴瀯浣�
-struct AddMonoutputReq
-{
-	Head head;
-	MonoutputInfo info[0];
-	AddMonoutputReq() {
-		head.type = ADD_MONOUTPUT_REQ;
-		head.len = sizeof(AddMonoutputReq);
-	}
-};
-
-//娣诲姞鏈堜骇閲忕殑鍝嶅簲缁撴瀯浣�
-struct AddMonoutputRes
-{
-	Head head;
-	int status;//琛ㄧず鏄惁娣诲姞鎴愬姛锛�0鍚�1鏄�
-	AddMonoutputRes() {
-		head.type = ADD_MONOUTPUT_RES;
-		head.len = sizeof(AddMonoutputRes);
-	}
-};
-
-//鍒犻櫎鏈堜骇閲忕殑璇锋眰缁撴瀯浣�
-struct DelMonoutputReq
-{
-	Head head;
-	MonoutputInfo info[0];
-	DelMonoutputReq() {
-		head.type = DEL_MONOUTPUT_REQ;
-		head.len = sizeof(DelMonoutputReq);
-	}
-};
-
-//鍒犻櫎鏈堜骇閲忕殑鍝嶅簲缁撴瀯浣�
-struct DelMonoutputRes
-{
-	Head head;
-	int status;//琛ㄧず鏄惁鍒犻櫎鎴愬姛锛�0鍚�1鏄�
-	DelMonoutputRes() {
-		head.type = DEL_MONOUTPUT_RES;
-		head.len = sizeof(DelMonoutputRes);
-	}
-};
-
-//鏇存敼鏈堜骇閲忕殑璇锋眰缁撴瀯浣�.
-struct UpdateMonoutputReq
-{
-	Head head;
-	MonoutputInfo info[0];
-	UpdateMonoutputReq() {
-		head.type = UPDATE_MONOUTPUT_REQ;
-		head.len = sizeof(UpdateMonoutputReq);
-	}
-};
-
-//鏇存敼鏈堜骇閲忕殑鍝嶅簲缁撴瀯浣�
-struct UpdateMonoutputRes
-{
-	Head head;
-	int status;//琛ㄧず鏄惁鏇存柊鎴愬姛锛�0鍚�1鏄�
-	MonoutputInfo info[0];
-	UpdateMonoutputRes() {
-		head.type = UPDATE_MONOUTPUT_RES;
-		head.len = sizeof(UpdateMonoutputRes);
-	}
-};
-
-//鏌ヨ鏈堜骇閲忕殑璇锋眰缁撴瀯浣�
-struct QueryMonoutputReq
-{
-	Head head;
-	int month;//鏈堜唤
-	double aOutput;//a浜у搧鏈堜骇閲�
-	double bOutput;//b浜у搧鏈堜骇閲�
-	double cOutput;//c浜у搧鏈堜骇閲�
-	QueryMonoutputReq() {
-		head.type = QUERY_MONOUTPUT_REQ;
-		head.len = sizeof(QueryMonoutputReq);
-	}
-};
-
-//鏌ヨ鏈堜骇閲忕殑鍝嶅簲缁撴瀯浣�
-struct QueryMonoutputRes
-{
-	Head head;
-	int status;//琛ㄧず鏄惁娣诲姞鎴愬姛锛�0鍚�1鏄�
-	MonoutputInfo info[0];
-	QueryMonoutputRes() {
-		head.type = QUERY_MONOUTPUT_RES;
-		head.len = sizeof(QueryMonoutputRes);
-	}
-};
-
-
-
-//鍘嗗彶鏌ヨ鍒嗘瀽
-// 鍘嗗彶鏌ヨ璇锋眰缁撴瀯浣�
-struct HistoryQueryReq {
-	Head head;
-	//鏍规嵁鏃堕棿鑼冨洿鏌ヨ
-	char startTime[32];
-	char endTime[32];
-	//鍏抽敭瀛楁煡璇�
-	char keyWord[32];
-	HistoryQueryReq() {
-		// 鍒濆鍖栨暟鎹ご
-		head.type = QUERY_MONOUTPUT_REQ;
-		head.len = sizeof(HistoryQueryReq);
-		// 鍒濆鍖栨煡璇㈡潯浠跺瓧娈�
-        memset(startTime, 0, sizeof(startTime));
-        memset(endTime, 0, sizeof(endTime));
-
-	}
-};
-
-// 鍘嗗彶鏌ヨ鍝嶅簲缁撴瀯浣�
-
-// 绯荤粺杩愯鐘舵�佽〃鐩稿叧淇℃伅
-struct HistroyInfo {
-	WarningRes warn;//璀︽姤鏌ヨ
-	QDRes dev;//璁惧鏌ヨ
-	QueryPdplanRes  pro;//鐢熶骇璁″垝鏌ヨ
-};
-struct HistoryQueryRes {
-	Head head;
-	HistroyInfo sys[0];
-	HistoryQueryRes() {
-		// 鍒濆鍖栨暟鎹ご
-		head.type = QUERY_MONOUTPUT_RES;
-		head.len = sizeof(HistoryQueryRes);
-	}
-};
-
-
-//鑷姩鍗囩骇
-struct VersionNumReq        // 鐗堟湰鍙疯姹�
-{
-	Head head;
-	VersionNumReq() {
-		head.type = VERSION_NUM_REQ;
-		head.len = sizeof(VersionNumReq);
-	}
-};
-
-struct VersionNumRes        // 鐗堟湰鍙峰搷搴�
-{
-	Head head;
-	char versionId[64]; // 鐗堟湰鍙�
-	VersionNumRes() {
-		head.type = VERSION_NUM_RES;
-		head.len = sizeof(VersionNumRes);
-	}
-};
-
-// 鏂囦欢浼犺緭
-struct FileInfo
-{
-	char fileName[256];
-	long long fileSize;
-	char s_filepath[128];
-	char content[0];
-};
-
-struct UploadFileReq        // 涓婁紶鏂囦欢鐨勮姹�
-{
-	Head head;
-	FileInfo fileInfo;
-	UploadFileReq() {
-		head.type = UPLOAD_FILE_REQ;
-		head.len = sizeof(UploadFileReq);
-	}
-};
-
-struct UploadFileRes {      // 涓婁紶鏂囦欢鐨勫搷搴�
-	Head head;
-	bool state = false;
-	char fileName[256];
-	long long file_size;
-	UploadFileRes()
-	{
-		head.type = UPLOAD_FILE_RES;
-		head.len = sizeof(UploadFileRes);
-	}
-};
-
-// 鐗堟湰淇℃伅褰曞叆
-// 璇锋眰
-struct VersionInfoEntryReq {
-	Head head;
-	char versionId[64]; // 鐗堟湰鍙�
-	char versionIdOld[64]; // 涓婁竴涓増鏈彿
-	int fileNum;
-	char context[0];		//鍖呭惈涓嬭浇鏂囦欢淇℃伅
-
-	VersionInfoEntryReq()
-	{
-		head.type = VERSION_INFOENTRY_REQ;
-		head.len = sizeof(VersionInfoEntryReq);
-	}
-};
-
-// 鐗堟湰淇℃伅褰曞叆鍝嶅簲
-struct VersionInfoEntryRes {
-	Head head;
-	bool state = false;
-	VersionInfoEntryRes()
-	{
-		head.type = VERSION_INFOENTRY_RES;
-		head.len = sizeof(VersionInfoEntryRes);
-	}
-};
-
-// 鐗堟湰鏇存柊璇锋眰
-struct VersionUpdateReq {
-	Head head;
-
-	char curVersionId[64]; // 鐗堟湰鍙�
-	VersionUpdateReq()
-	{
-		head.type = VERSION_UPDATE_REQ;
-		head.len = sizeof(VersionUpdateReq);
-	}
-};
-
-// 鐗堟湰鏇存柊鍝嶅簲
-struct VersionUpdateRes {
-	Head head;
-	bool state = false;
-	char versionId[64]; // 鐗堟湰鍙�
-	char updateDate[32]; // 鏇存柊鏃堕棿
-	char versionDescription[1024]; //鏇存柊鎻忚堪
-
-	VersionUpdateRes()
-	{
-		head.type = VERSION_UPDATE_RES;
-		head.len = sizeof(VersionUpdateRes);
-	}
-};
-
-// 鐗堟湰鏇存柊鏂囦欢涓嬭浇璇锋眰
-struct FileDownloadsReq {
-	Head head;
-	char versionId[64]; // 鐗堟湰鍙�
-	FileDownloadsReq()
-	{
-		head.type = FILE_DOWNLOADS_REQ;
-		head.len = sizeof(FileDownloadsReq);
-	}
-};
-
-// 鐗堟湰鏇存柊鏂囦欢涓嬭浇鍝嶅簲
-struct FileDownloadsRes {
-	Head head;
-	char versionId[64]; // 鐗堟湰鍙�
-	char filename[128]; //鏂囦欢鍚�
-	long long filesize; //鏂囦欢澶у皬
-	char c_filepath[128];	//瀹㈡埛绔斁鏈�鏂扮増鏈殑鏈湴璺緞
-	int fileNum; // 鏂囦欢鏁伴噺
-	long long allFileSize; // 鏂囦欢鎬诲ぇ灏�
-	char content[0];
-	FileDownloadsRes()
-	{
-		head.type = FILE_DOWNLOADS_RES;
-		head.len = sizeof(FileDownloadsRes);
-	}
-};
-
-// 鏇存柊鏂囦欢涓嬭浇鎴愬姛鐨勫搷搴�
-struct DownloadSuccessfullyRes {
-	Head head;
-	bool state = false;
-	char fileName[256];
-	long long fileSize;
-	DownloadSuccessfullyRes()
-	{
-		head.type = DOWNLOAD_SUCCESSFULLY_RES;
-		head.len = sizeof(DownloadSuccessfullyRes);
-	}
-};
-
-
-//鏃ュ織
-struct ParsedLog {
-    int id;
-	char timeStamp[64]; // 鏃堕棿鎴�
-	char deviceId[64]; // 璁惧ID
-	char level[16];    // 鏃ュ織绾у埆
-	char content[256];  // 鏃ュ織鍐呭
-	char userId[64];    // 鐢ㄦ埛ID
-	char fileName[32];   //鏂囦欢鍚�
-    int problemLine;    //浜х敓閿欒琛屽彿
-	char functionName[32];  //鍑芥暟鍚�
-
-};
-
-// 鏃ュ織鏌ヨ璇锋眰缁撴瀯浣�
-struct LogQueryReq {
-    Head head;                      // 鏁版嵁澶�
-    char startTime[20]; // 鏍规嵁瀹為檯闇�瑕佽皟鏁村ぇ灏�
-    char endTime[20];   // 鏍规嵁瀹為檯闇�瑕佽皟鏁村ぇ灏�
-    char content[256];           // 鏃ュ織鍐呭
-    char level[16];                 //鏃ュ織绾у埆
-    char deviceId[64];             // 璁惧ID
-                                   // 鏃犲弬鏋勯�犲嚱鏁�
-    LogQueryReq() {
-        head.type = LOGSEARCH_REQ;
-        head.len = sizeof(LogQueryReq);
-    }
-};
-
-
-// 鏃ュ織鏌ヨ鍝嶅簲缁撴瀯浣�
-struct LogQueryRes {
-	Head head;
-	int status;                    // 鍝嶅簲鐘舵�� (濡� 0 琛ㄧず鎴愬姛锛岄潪 0 琛ㄧず澶辫触)
-    ParsedLog parsedLog[0];  // 浣跨敤鏌旀�ф暟缁勫瓨鍌ㄦ煡璇㈢粨鏋�
-
-	// 鏃犲弬鏋勯�犲嚱鏁�
-	LogQueryRes() {
-		head.type = LOGSEARCH_RES;
-		head.len = sizeof(LogQueryRes);
-	}
-};
-
-
-
-
-#endif // COMMON_H
diff --git "a/Client/\346\234\261\350\210\252/code/kunlunclient/kunlunclient.pro" "b/Client/\346\234\261\350\210\252/code/kunlunclient/kunlunclient.pro"
deleted file mode 100644
index f335c61..0000000
--- "a/Client/\346\234\261\350\210\252/code/kunlunclient/kunlunclient.pro"
+++ /dev/null
@@ -1,39 +0,0 @@
-#-------------------------------------------------
-#
-# Project created by QtCreator 2024-11-04T19:54:13
-#
-#-------------------------------------------------
-
-QT       += core gui network
-
-
-greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
-
-TARGET = kunlunclient
-TEMPLATE = app
-
-# The following define makes your compiler emit warnings if you use
-# any feature of Qt which has been marked as deprecated (the exact warnings
-# depend on your compiler). Please consult the documentation of the
-# deprecated API in order to know how to port your code away from it.
-DEFINES += QT_DEPRECATED_WARNINGS
-
-# You can also make your code fail to compile if you use deprecated APIs.
-# In order to do so, uncomment the following line.
-# You can also select to disable deprecated APIs only up to a certain version of Qt.
-#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
-
-
-SOURCES += \
-        main.cpp \
-        clientmainwindow.cpp \
-    logquery.cpp
-
-HEADERS += \
-        clientmainwindow.h \
-    logquery.h \
-    common.h
-
-FORMS += \
-        clientmainwindow.ui \
-    logquery.ui
diff --git "a/Client/\346\234\261\350\210\252/code/kunlunclient/kunlunclient.pro.user" "b/Client/\346\234\261\350\210\252/code/kunlunclient/kunlunclient.pro.user"
deleted file mode 100644
index 0cd92fe..0000000
--- "a/Client/\346\234\261\350\210\252/code/kunlunclient/kunlunclient.pro.user"
+++ /dev/null
@@ -1,806 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE QtCreatorProject>
-<!-- Written by QtCreator 4.5.0, 2024-11-06T21:44:24. -->
-<qtcreator>
- <data>
-  <variable>EnvironmentId</variable>
-  <value type="QByteArray">{197a2871-47a7-48be-824d-e8eb4f5b395c}</value>
- </data>
- <data>
-  <variable>ProjectExplorer.Project.ActiveTarget</variable>
-  <value type="int">0</value>
- </data>
- <data>
-  <variable>ProjectExplorer.Project.EditorSettings</variable>
-  <valuemap type="QVariantMap">
-   <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
-   <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
-   <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
-   <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
-    <value type="QString" key="language">Cpp</value>
-    <valuemap type="QVariantMap" key="value">
-     <value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
-    </valuemap>
-   </valuemap>
-   <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
-    <value type="QString" key="language">QmlJS</value>
-    <valuemap type="QVariantMap" key="value">
-     <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
-    </valuemap>
-   </valuemap>
-   <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
-   <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
-   <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
-   <value type="int" key="EditorConfiguration.IndentSize">4</value>
-   <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
-   <value type="int" key="EditorConfiguration.MarginColumn">80</value>
-   <value type="bool" key="EditorConfiguration.MouseHiding">true</value>
-   <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
-   <value type="int" key="EditorConfiguration.PaddingMode">1</value>
-   <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
-   <value type="bool" key="EditorConfiguration.ShowMargin">false</value>
-   <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
-   <value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
-   <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
-   <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
-   <value type="int" key="EditorConfiguration.TabSize">8</value>
-   <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
-   <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
-   <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
-   <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
-   <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
-   <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
-  </valuemap>
- </data>
- <data>
-  <variable>ProjectExplorer.Project.PluginSettings</variable>
-  <valuemap type="QVariantMap"/>
- </data>
- <data>
-  <variable>ProjectExplorer.Project.Target.0</variable>
-  <valuemap type="QVariantMap">
-   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.9.4 MinGW 32bit</value>
-   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.9.4 MinGW 32bit</value>
-   <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.594.win32_mingw53_kit</value>
-   <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
-   <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
-   <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
-   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
-    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">B:/Qt/QtProject/build-kunlunclient-Desktop_Qt_5_9_4_MinGW_32bit-Debug</value>
-    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
-     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
-      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
-      <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
-     </valuemap>
-     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
-      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
-      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
-      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
-     </valuemap>
-     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">鏋勫缓</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
-    </valuemap>
-    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
-     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
-      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
-      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
-      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
-     </valuemap>
-     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">娓呯悊</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
-    </valuemap>
-    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
-    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
-    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
-    <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
-    <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
-   </valuemap>
-   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
-    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">B:/Qt/QtProject/build-kunlunclient-Desktop_Qt_5_9_4_MinGW_32bit-Release</value>
-    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
-     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
-      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
-      <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
-     </valuemap>
-     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
-      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
-      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
-      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
-     </valuemap>
-     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">鏋勫缓</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
-    </valuemap>
-    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
-     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
-      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
-      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
-      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
-     </valuemap>
-     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">娓呯悊</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
-    </valuemap>
-    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
-    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
-    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
-    <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
-    <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
-   </valuemap>
-   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
-    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">B:/Qt/QtProject/build-kunlunclient-Desktop_Qt_5_9_4_MinGW_32bit-Profile</value>
-    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
-     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
-      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
-      <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
-     </valuemap>
-     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
-      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
-      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
-      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
-     </valuemap>
-     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">鏋勫缓</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
-    </valuemap>
-    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
-     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
-      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
-      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
-      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
-     </valuemap>
-     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">娓呯悊</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
-    </valuemap>
-    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
-    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
-    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Profile</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
-    <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
-    <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
-   </valuemap>
-   <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
-   <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
-    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
-     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">閮ㄧ讲</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
-    </valuemap>
-    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">鍦ㄦ湰鍦伴儴缃�</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
-   </valuemap>
-   <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
-   <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
-   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
-    <value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
-    <value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
-    <value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
-    <value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
-    <value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
-    <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
-    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
-    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
-    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
-    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
-    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
-    <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
-    <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
-    <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
-    <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
-    <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
-    <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
-    <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
-    <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
-    <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
-    <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
-    <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
-    <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
-     <value type="int">0</value>
-     <value type="int">1</value>
-     <value type="int">2</value>
-     <value type="int">3</value>
-     <value type="int">4</value>
-     <value type="int">5</value>
-     <value type="int">6</value>
-     <value type="int">7</value>
-     <value type="int">8</value>
-     <value type="int">9</value>
-     <value type="int">10</value>
-     <value type="int">11</value>
-     <value type="int">12</value>
-     <value type="int">13</value>
-     <value type="int">14</value>
-    </valuelist>
-    <value type="int" key="PE.EnvironmentAspect.Base">2</value>
-    <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">kunlunclient</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:B:/Qt/QtProject/kunlunclient/kunlunclient.pro</value>
-    <value type="bool" key="QmakeProjectManager.QmakeRunConfiguration.UseLibrarySearchPath">true</value>
-    <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
-    <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">kunlunclient.pro</value>
-    <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
-    <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
-    <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory.default">B:/Qt/QtProject/build-kunlunclient-Desktop_Qt_5_9_4_MinGW_32bit-Debug</value>
-    <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
-    <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
-    <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
-    <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
-    <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
-    <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
-   </valuemap>
-   <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
-  </valuemap>
- </data>
- <data>
-  <variable>ProjectExplorer.Project.Target.1</variable>
-  <valuemap type="QVariantMap">
-   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.9.4 MSVC2015 32bit</value>
-   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.9.4 MSVC2015 32bit</value>
-   <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.594.win32_msvc2015_kit</value>
-   <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
-   <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
-   <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
-   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
-    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">B:/Qt/QtProject/build-kunlunclient-Desktop_Qt_5_9_4_MSVC2015_32bit-Debug</value>
-    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
-     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
-      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
-      <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
-     </valuemap>
-     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
-      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
-      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
-      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
-     </valuemap>
-     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">鏋勫缓</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
-    </valuemap>
-    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
-     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
-      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
-      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
-      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
-     </valuemap>
-     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">娓呯悊</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
-    </valuemap>
-    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
-    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
-    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
-    <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
-    <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
-   </valuemap>
-   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
-    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">B:/Qt/QtProject/build-kunlunclient-Desktop_Qt_5_9_4_MSVC2015_32bit-Release</value>
-    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
-     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
-      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
-      <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
-     </valuemap>
-     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
-      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
-      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
-      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
-     </valuemap>
-     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">鏋勫缓</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
-    </valuemap>
-    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
-     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
-      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
-      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
-      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
-     </valuemap>
-     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">娓呯悊</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
-    </valuemap>
-    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
-    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
-    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
-    <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
-    <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
-   </valuemap>
-   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
-    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">B:/Qt/QtProject/build-kunlunclient-Desktop_Qt_5_9_4_MSVC2015_32bit-Profile</value>
-    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
-     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
-      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
-      <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
-     </valuemap>
-     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
-      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
-      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
-      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
-     </valuemap>
-     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">鏋勫缓</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
-    </valuemap>
-    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
-     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
-      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
-      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
-      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
-     </valuemap>
-     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">娓呯悊</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
-    </valuemap>
-    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
-    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
-    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Profile</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
-    <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
-    <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
-   </valuemap>
-   <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
-   <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
-    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
-     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">閮ㄧ讲</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
-    </valuemap>
-    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">鍦ㄦ湰鍦伴儴缃�</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
-   </valuemap>
-   <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
-   <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
-   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
-    <value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
-    <value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
-    <value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
-    <value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
-    <value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
-    <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
-    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
-    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
-    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
-    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
-    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
-    <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
-    <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
-    <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
-    <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
-    <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
-    <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
-    <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
-    <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
-    <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
-    <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
-    <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
-    <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
-     <value type="int">0</value>
-     <value type="int">1</value>
-     <value type="int">2</value>
-     <value type="int">3</value>
-     <value type="int">4</value>
-     <value type="int">5</value>
-     <value type="int">6</value>
-     <value type="int">7</value>
-     <value type="int">8</value>
-     <value type="int">9</value>
-     <value type="int">10</value>
-     <value type="int">11</value>
-     <value type="int">12</value>
-     <value type="int">13</value>
-     <value type="int">14</value>
-    </valuelist>
-    <value type="int" key="PE.EnvironmentAspect.Base">-1</value>
-    <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
-    <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Arguments"></value>
-    <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable"></value>
-    <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.WorkingDirectory">%{buildDir}</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Custom Executable</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
-    <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
-    <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
-    <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
-    <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
-    <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
-    <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
-   </valuemap>
-   <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
-  </valuemap>
- </data>
- <data>
-  <variable>ProjectExplorer.Project.Target.2</variable>
-  <valuemap type="QVariantMap">
-   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.9.4 MSVC2015 64bit</value>
-   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.9.4 MSVC2015 64bit</value>
-   <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.594.win64_msvc2015_64_kit</value>
-   <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
-   <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
-   <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
-   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
-    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">B:/Qt/QtProject/build-kunlunclient-Desktop_Qt_5_9_4_MSVC2015_64bit-Debug</value>
-    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
-     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
-      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
-      <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
-     </valuemap>
-     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
-      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
-      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
-      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
-     </valuemap>
-     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">鏋勫缓</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
-    </valuemap>
-    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
-     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
-      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
-      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
-      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
-     </valuemap>
-     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">娓呯悊</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
-    </valuemap>
-    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
-    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
-    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
-    <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
-    <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
-   </valuemap>
-   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
-    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">B:/Qt/QtProject/build-kunlunclient-Desktop_Qt_5_9_4_MSVC2015_64bit-Release</value>
-    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
-     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
-      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
-      <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
-     </valuemap>
-     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
-      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
-      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
-      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
-     </valuemap>
-     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">鏋勫缓</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
-    </valuemap>
-    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
-     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
-      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
-      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
-      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
-     </valuemap>
-     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">娓呯悊</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
-    </valuemap>
-    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
-    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
-    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
-    <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
-    <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
-   </valuemap>
-   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
-    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">B:/Qt/QtProject/build-kunlunclient-Desktop_Qt_5_9_4_MSVC2015_64bit-Profile</value>
-    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
-     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
-      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
-      <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
-      <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
-     </valuemap>
-     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
-      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
-      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
-      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
-     </valuemap>
-     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">鏋勫缓</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
-    </valuemap>
-    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
-     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
-      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
-      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/>
-      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
-      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
-     </valuemap>
-     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">娓呯悊</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
-    </valuemap>
-    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
-    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
-    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Profile</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
-    <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
-    <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
-   </valuemap>
-   <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
-   <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
-    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
-     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">閮ㄧ讲</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
-    </valuemap>
-    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">鍦ㄦ湰鍦伴儴缃�</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
-   </valuemap>
-   <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
-   <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
-   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
-    <value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
-    <value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
-    <value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
-    <value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
-    <value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
-    <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
-    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
-    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
-    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
-    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
-    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
-    <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
-    <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
-    <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
-    <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
-    <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
-    <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
-    <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
-    <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
-    <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
-    <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
-    <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
-    <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
-     <value type="int">0</value>
-     <value type="int">1</value>
-     <value type="int">2</value>
-     <value type="int">3</value>
-     <value type="int">4</value>
-     <value type="int">5</value>
-     <value type="int">6</value>
-     <value type="int">7</value>
-     <value type="int">8</value>
-     <value type="int">9</value>
-     <value type="int">10</value>
-     <value type="int">11</value>
-     <value type="int">12</value>
-     <value type="int">13</value>
-     <value type="int">14</value>
-    </valuelist>
-    <value type="int" key="PE.EnvironmentAspect.Base">-1</value>
-    <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
-    <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Arguments"></value>
-    <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable"></value>
-    <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.WorkingDirectory">%{buildDir}</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Custom Executable</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
-    <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
-    <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
-    <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
-    <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
-    <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
-    <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
-   </valuemap>
-   <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
-  </valuemap>
- </data>
- <data>
-  <variable>ProjectExplorer.Project.TargetCount</variable>
-  <value type="int">3</value>
- </data>
- <data>
-  <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
-  <value type="int">18</value>
- </data>
- <data>
-  <variable>Version</variable>
-  <value type="int">18</value>
- </data>
-</qtcreator>
diff --git "a/Client/\346\234\261\350\210\252/code/kunlunclient/logquery.cpp" "b/Client/\346\234\261\350\210\252/code/kunlunclient/logquery.cpp"
deleted file mode 100644
index cfc075c..0000000
--- "a/Client/\346\234\261\350\210\252/code/kunlunclient/logquery.cpp"
+++ /dev/null
@@ -1,216 +0,0 @@
-锘�#include "logquery.h"
-#include "ui_logquery.h"
-#include <QTcpSocket>
-#include <QMessageBox>
-#include <QStandardItemModel>
-#pragma execution_character_set("utf-8")
-
-
-
-LogQuery::LogQuery(QWidget *parent) :
-    QMainWindow(parent),
-    ui(new Ui::LogQuery)
-{
-    ui->setupUi(this);
-
-    m_client = nullptr;//缃┖
-
-}
-
-LogQuery::LogQuery(QTcpSocket *client, QWidget *parent):
-    QMainWindow(parent),
-    ui(new Ui::LogQuery)
-{
-     ui->setupUi(this);
-
-     connect(ui->comboBox,SIGNAL(currentIndexChanged(int)),this,SLOT(onComboBoxIndexChanged(int)));
-     ui->dateTimeEdit_end->setDateTime(QDateTime::currentDateTime());
-     //鎷変几 鏁堟灉
-     ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
-     ui->spinBox->setValue(10);
-
-//     int nWidth = ui->tableView->width();
-//     ui->tableView->setColumnWidth(0, qRound(nWidth*0.1));
-//     ui->tableView->setColumnWidth(1, qRound(nWidth*0.5));
-//     ui->tableView->setColumnWidth(2, qRound(nWidth*0.3));
-//     ui->tableView->setColumnWidth(3, qRound(nWidth*0.15));
-//     ui->tableView->setColumnWidth(4, qRound(nWidth*0.15));
-//     ui->tableView->setColumnWidth(5, qRound(nWidth*0.3));
-//     ui->tableView->setColumnWidth(6, qRound(nWidth*0.3));
-//     ui->tableView->setColumnWidth(7, qRound(nWidth*0.3));
-//     ui->tableView->setColumnWidth(8, qRound(nWidth*0.3));
-
-
-
-     m_client = client;//鍏变韩濂楁帴瀛�
-}
-
-LogQuery::~LogQuery()
-{
-    delete ui;
-}
-
-void LogQuery::on_pushButton_search_clicked()
-{
-    QString selectedFilter = ui->comboBox->currentText();
-    QByteArray request;
-
-    // 鍔ㄦ�佸垎閰嶈姹傜粨鏋勪綋
-    int size = sizeof(LogQueryReq) + sizeof(ParsedLog);
-    LogQueryReq* req = (LogQueryReq*)new char[size];
-
-    req->head.type = LOGSEARCH_REQ;
-    req->head.len = size;
-
-    // 鍒濆鍖栬姹傛暟鎹�
-    initializeRequestData(req);
-
-    // 鏍规嵁閫夊畾鐨勭瓫閫夋潯浠跺~鍏呰姹傛暟鎹�
-    if (selectedFilter == "鏃堕棿") {
-
-        QString startTime = ui->dateTimeEdit_start->dateTime().toString("yyyy-MM-dd HH:mm:ss");
-        QString endTime = ui->dateTimeEdit_end->dateTime().toString("yyyy-MM-dd HH:mm:ss");
-
-        // 灏嗗紑濮嬫椂闂村拰缁撴潫鏃堕棿璁剧疆鍒拌姹備腑
-        strcpy(req->startTime, startTime.toLocal8Bit().constData());
-        strcpy(req->endTime, endTime.toLocal8Bit().constData());
-    } else if (selectedFilter == "鏃ュ織鍐呭" || selectedFilter == "鏃ュ織绾у埆" || selectedFilter == "璁惧ID") {
-        QString filterValue = ui->lineEdit->text();
-        if (filterValue.isEmpty()) {
-            QMessageBox::warning(this, "璀﹀憡", "璇疯緭鍏ョ瓫閫夋潯浠讹紒");
-            delete[] req; // 閲婃斁鍐呭瓨
-            return;
-        }
-
-        // 鏍规嵁绛涢�夋潯浠跺~鍏呯浉搴旂殑瀛楁
-        if (selectedFilter == "鏃ュ織鍐呭") {
-
-            strcpy(req->content, filterValue.toLocal8Bit().data());
-        } else if (selectedFilter == "鏃ュ織绾у埆") {
-
-            strcpy(req->level, filterValue.toLocal8Bit().data());
-        } else if (selectedFilter == "璁惧ID") {
-
-            strcpy(req->deviceId, filterValue.toLocal8Bit().data());
-        }
-    } else {
-        QMessageBox::warning(this, "璀﹀憡", "璇烽�夋嫨鏈夋晥鐨勭瓫閫夋潯浠讹紒");
-        delete[] req; // 閲婃斁鍐呭瓨
-        return;
-    }
-
-    // 灏嗙粨鏋勪綋杞负 QByteArray
-    request = QByteArray((char*)(req), req->head.len);
-
-    // 鍙戦�佽姹�
-    if (m_client != nullptr) {
-        qDebug() << __FUNCTION__ << m_client->write(request);
-    }
-
-    // 閲婃斁鍐呭瓨
-    delete[] req;
-    currentPage = 1;
-    // 閲嶆柊璁$畻鎬婚〉鏁�
-    totalPages = (logs.size() + logsPerPage - 1) / logsPerPage;
-    displayCurrentPage();
-    updatePageLabel();
-
-}
-
-void LogQuery::queryResSlot(LogQueryRes *res)
-{
-    if (res->status == 1) {
-       // 瑙f瀽鏃ュ織鏁版嵁
-       logs.clear();
-
-       int maxLogs = ui->spinBox->value();
-       int logCount = (res->head.len - sizeof(LogQueryRes)) / sizeof(ParsedLog);
-       qDebug()<<"logcount = "<<logCount;
-       int displayCount = qMin(maxLogs, logCount); // 鏄剧ず鏁伴噺涓嶈秴杩囨渶澶у��
-       for (int i = 0; i < displayCount; ++i) {
-           logs.append(res->parsedLog[i]);
-       }
-
-       totalPages = (logs.size()+logsPerPage -1)/ logsPerPage;//璁$畻鎬婚〉鏁�
-       currentPage = 1; // 閲嶇疆椤电爜
-       updatePageLabel();//鏇存柊鏍囩
-       displayCurrentPage(); // 鏄剧ず绗竴椤�
-        }
-    else{
-        ui->tableView->setModel(nullptr);
-        QMessageBox::warning(this, "璀﹀憡", "鏃犵浉鍏冲唴瀹�");
-
-    }
-}
-
-void LogQuery::initializeRequestData(LogQueryReq *req)
-{
-    req->startTime[0] = '\0';
-    req->endTime[0] = '\0';
-    req->level[0] = '\0';
-    req->deviceId[0] = '\0';
-    req->content[0] = '\0';
-}
-
-void LogQuery::updatePageLabel()
-{
-    ui->label_currentPage->setText(QString("褰撳墠椤碉細%1 / %2").arg(currentPage).arg(totalPages));
-    // 濡傛灉鍙湁涓�椤垫垨鑰呮病鏈夋暟鎹紝绂佺敤涓婁笅椤垫寜閽�
-    ui->pushButton_up->setEnabled(currentPage > 1);           // 绂佺敤涓婁竴椤垫寜閽�
-    ui->pushButton_down->setEnabled(currentPage < totalPages); // 绂佺敤涓嬩竴椤垫寜閽�
-}
-
-
-void LogQuery::on_pushButton_up_clicked()
-{
-    if (currentPage > 0) {
-           --currentPage;
-           updatePageLabel();
-           displayCurrentPage();  // 鏄剧ず涓婁竴椤�
-       }
-}
-
-void LogQuery::on_pushButton_down_clicked()
-{
-    if (currentPage < totalPages) {
-        ++currentPage;
-        updatePageLabel();
-        displayCurrentPage();
-    }
-}
-
-void LogQuery::onComboBoxIndexChanged(int index)
-{
-    ui->lineEdit->clear();
-}
-
-void LogQuery::displayCurrentPage()
-{
-        QStandardItemModel* model = new QStandardItemModel();
-        model->setHorizontalHeaderLabels({"ID", "鏃堕棿", "璁惧ID", "鏃ュ織绾у埆", "鏃ュ織鍐呭", "鐢ㄦ埛ID", "閿欒鏂囦欢鍚�", "閿欒琛屽彿", "閿欒鍑芥暟鍚�"});
-
-        int start = (currentPage -1)* logsPerPage;
-        int end = qMin(start + logsPerPage, logs.size());
-
-        // 濉厖褰撳墠椤电殑鏃ュ織鏉$洰
-        for (int i = start; i < end; ++i) {
-            ParsedLog parsedLog = logs[i];
-            QList<QStandardItem *> rowItems;
-
-            rowItems.append(new QStandardItem(QString::number(parsedLog.id)));
-            rowItems.append(new QStandardItem(QString::fromLocal8Bit(parsedLog.timeStamp)));
-            rowItems.append(new QStandardItem(QString::fromLocal8Bit(parsedLog.deviceId)));
-            rowItems.append(new QStandardItem(QString::fromLocal8Bit(parsedLog.level)));
-            rowItems.append(new QStandardItem(QString::fromLocal8Bit(parsedLog.content)));
-            rowItems.append(new QStandardItem(QString::fromLocal8Bit(parsedLog.userId)));
-            rowItems.append(new QStandardItem(QString::fromLocal8Bit(parsedLog.fileName)));
-            rowItems.append(new QStandardItem(QString::number(parsedLog.problemLine)));
-            rowItems.append(new QStandardItem(QString::fromLocal8Bit(parsedLog.functionName)));
-
-            model->appendRow(rowItems);
-        }
-
-        // 鏇存柊琛ㄦ牸瑙嗗浘
-        ui->tableView->setModel(model);
-        ui->tableView->resizeColumnsToContents();
-}
diff --git "a/Client/\346\234\261\350\210\252/code/kunlunclient/logquery.h" "b/Client/\346\234\261\350\210\252/code/kunlunclient/logquery.h"
deleted file mode 100644
index 4fe6a49..0000000
--- "a/Client/\346\234\261\350\210\252/code/kunlunclient/logquery.h"
+++ /dev/null
@@ -1,49 +0,0 @@
-锘�#ifndef LOGQUERY_H
-#define LOGQUERY_H
-
-#include <QMainWindow>
-#include "common.h"
-#include <QTcpSocket>
-#pragma execution_character_set("utf-8")
-
-
-namespace Ui {
-class LogQuery;
-}
-
-class LogQuery : public QMainWindow
-{
-    Q_OBJECT
-
-public:
-    explicit LogQuery(QWidget *parent = 0);
-    explicit LogQuery(QTcpSocket *client,QWidget *parent = 0);
-    ~LogQuery();
-
-private slots:
-    void on_pushButton_search_clicked();
-
-    void queryResSlot(LogQueryRes *res);
-
-    void on_pushButton_up_clicked();
-
-    void on_pushButton_down_clicked();
-
-    void onComboBoxIndexChanged(int index);
-
-private:
-    void displayCurrentPage();
-    Ui::LogQuery *ui;
-    QTcpSocket *m_client;
-
-    QVector<ParsedLog> logs;
-
-    int currentPage = 1;    // 褰撳墠椤电爜锛屼粠1寮�濮�
-    int totalPages = 1;     // 鎬婚〉鏁�
-    const int logsPerPage = 10;   // 姣忛〉鏄剧ず鐨勬棩蹇楁暟閲�
-
-    void initializeRequestData(LogQueryReq* req);//鍒濆鍖栬姹傛暟鎹�
-    void updatePageLabel();
-};
-
-#endif // LOGQUERY_H
diff --git "a/Client/\346\234\261\350\210\252/code/kunlunclient/logquery.ui" "b/Client/\346\234\261\350\210\252/code/kunlunclient/logquery.ui"
deleted file mode 100644
index 4bfb989..0000000
--- "a/Client/\346\234\261\350\210\252/code/kunlunclient/logquery.ui"
+++ /dev/null
@@ -1,209 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>LogQuery</class>
- <widget class="QMainWindow" name="LogQuery">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>800</width>
-    <height>600</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>MainWindow</string>
-  </property>
-  <widget class="QWidget" name="centralwidget">
-   <layout class="QGridLayout" name="gridLayout_2">
-    <item row="0" column="0">
-     <widget class="QGroupBox" name="groupBox">
-      <property name="title">
-       <string>鏌ヨ鏉′欢</string>
-      </property>
-      <layout class="QGridLayout" name="gridLayout">
-       <item row="0" column="0">
-        <layout class="QHBoxLayout" name="horizontalLayout">
-         <item>
-          <widget class="QComboBox" name="comboBox">
-           <item>
-            <property name="text">
-             <string>鏃堕棿</string>
-            </property>
-           </item>
-           <item>
-            <property name="text">
-             <string>鏃ュ織鍐呭</string>
-            </property>
-           </item>
-           <item>
-            <property name="text">
-             <string>鏃ュ織绾у埆</string>
-            </property>
-           </item>
-           <item>
-            <property name="text">
-             <string>璁惧ID</string>
-            </property>
-           </item>
-          </widget>
-         </item>
-         <item>
-          <widget class="QLineEdit" name="lineEdit"/>
-         </item>
-        </layout>
-       </item>
-       <item row="1" column="0">
-        <layout class="QHBoxLayout" name="horizontalLayout_2">
-         <item>
-          <widget class="QLabel" name="label">
-           <property name="text">
-            <string>寮�濮嬶細</string>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <widget class="QDateTimeEdit" name="dateTimeEdit_start">
-           <property name="calendarPopup">
-            <bool>true</bool>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <spacer name="horizontalSpacer">
-           <property name="orientation">
-            <enum>Qt::Horizontal</enum>
-           </property>
-           <property name="sizeHint" stdset="0">
-            <size>
-             <width>40</width>
-             <height>20</height>
-            </size>
-           </property>
-          </spacer>
-         </item>
-         <item>
-          <widget class="QLabel" name="label_2">
-           <property name="text">
-            <string>缁撴潫锛�</string>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <widget class="QDateTimeEdit" name="dateTimeEdit_end">
-           <property name="calendarPopup">
-            <bool>true</bool>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <spacer name="horizontalSpacer_2">
-           <property name="orientation">
-            <enum>Qt::Horizontal</enum>
-           </property>
-           <property name="sizeHint" stdset="0">
-            <size>
-             <width>40</width>
-             <height>20</height>
-            </size>
-           </property>
-          </spacer>
-         </item>
-        </layout>
-       </item>
-       <item row="2" column="0">
-        <layout class="QHBoxLayout" name="horizontalLayout_4">
-         <item>
-          <widget class="QPushButton" name="pushButton_search">
-           <property name="text">
-            <string>鏌ヨ</string>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <spacer name="horizontalSpacer_3">
-           <property name="orientation">
-            <enum>Qt::Horizontal</enum>
-           </property>
-           <property name="sizeHint" stdset="0">
-            <size>
-             <width>40</width>
-             <height>20</height>
-            </size>
-           </property>
-          </spacer>
-         </item>
-         <item>
-          <widget class="QSpinBox" name="spinBox"/>
-         </item>
-        </layout>
-       </item>
-      </layout>
-     </widget>
-    </item>
-    <item row="1" column="0">
-     <widget class="QGroupBox" name="groupBox_2">
-      <property name="title">
-       <string>鏌ヨ缁撴灉</string>
-      </property>
-      <layout class="QHBoxLayout" name="horizontalLayout_3">
-       <item>
-        <widget class="QTableView" name="tableView"/>
-       </item>
-      </layout>
-     </widget>
-    </item>
-    <item row="2" column="0">
-     <layout class="QHBoxLayout" name="horizontalLayout_5">
-      <item>
-       <widget class="QLabel" name="label_currentPage">
-        <property name="text">
-         <string/>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <spacer name="horizontalSpacer_4">
-        <property name="orientation">
-         <enum>Qt::Horizontal</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>40</width>
-          <height>20</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
-      <item>
-       <widget class="QPushButton" name="pushButton_up">
-        <property name="text">
-         <string>涓婁竴椤�</string>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QPushButton" name="pushButton_down">
-        <property name="text">
-         <string>涓嬩竴椤�</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </item>
-   </layout>
-  </widget>
-  <widget class="QMenuBar" name="menubar">
-   <property name="geometry">
-    <rect>
-     <x>0</x>
-     <y>0</y>
-     <width>800</width>
-     <height>23</height>
-    </rect>
-   </property>
-  </widget>
-  <widget class="QStatusBar" name="statusbar"/>
- </widget>
- <resources/>
- <connections/>
-</ui>
diff --git "a/Client/\346\234\261\350\210\252/code/kunlunclient/main.cpp" "b/Client/\346\234\261\350\210\252/code/kunlunclient/main.cpp"
deleted file mode 100644
index 10f11bd..0000000
--- "a/Client/\346\234\261\350\210\252/code/kunlunclient/main.cpp"
+++ /dev/null
@@ -1,11 +0,0 @@
-#include "clientmainwindow.h"
-#include <QApplication>
-
-int main(int argc, char *argv[])
-{
-    QApplication a(argc, argv);
-    ClientMainWindow w;
-    w.show();
-
-    return a.exec();
-}
diff --git "a/Client/\346\234\261\350\210\252/code/\346\234\215\345\212\241\347\253\257/LogSearch.cpp" "b/Client/\346\234\261\350\210\252/code/\346\234\215\345\212\241\347\253\257/LogSearch.cpp"
deleted file mode 100644
index 686d211..0000000
--- "a/Client/\346\234\261\350\210\252/code/\346\234\215\345\212\241\347\253\257/LogSearch.cpp"
+++ /dev/null
@@ -1,91 +0,0 @@
-#include "stdafx.h"
-#include "LogSearch.h"
-#include <iostream>
-#include "MysqlConn.h"
-using namespace std;
-LogSearch::LogSearch()
-{
-}
-
-
-LogSearch::~LogSearch()
-{
-}
-
-bool LogSearch::searchLogBusiness(SOCKET client, LogQueryReq * req)
-{
-	//// 初始化 SQL 查询语句
-
-	string sql = "SELECT * FROM parsed_logs WHERE";
-
-	if (*(req->startTime) && *(req->endTime)) {
-		sql += " time_stamp BETWEEN '" + string(req->startTime) + "' AND '" + string(req->endTime) + "'";
-	}
-
-	if (*(req->level)) {
-		sql += " level LIKE '%" + string(req->level) + "%'";
-	}
-
-	if (*(req->deviceId)) {
-		sql += " device_id LIKE '%" + string(req->deviceId) + "%'";
-	}
-
-	if ((*req->content)) {
-		sql += " content LIKE '%" + string(req->content) + "%'";
-	}
-
-	// 打印构建的 SQL 语句,方便调试
-	cout << "SQL: " << sql << endl;
-
-	// 设置 MySQL 连接并执行查询
-
-
-		MysqlConn conn;
-		vector<vector<string>> result;
-		bool querySuccess = conn.query(sql, result);
-		if (!querySuccess) {
-			cout << "查询失败" << endl;
-			return false;
-		}
-
-		int len = sizeof(LogQueryRes) + result.size() * sizeof(ParsedLog);  // 动态计算数据长度
-		LogQueryRes* res = (LogQueryRes*)malloc(len);  // 为 LogQueryRes 结构体及其柔性数组分配内存
-
-													   // 初始化结构体
-		res->head.type = LOGSEARCH_RES;
-		res->head.len = len;
-		res->status = (result.empty()) ? 0 : 1; // 如果结果为空,设置状态为 0
-
-												// 将查询结果填充到 parsedLog 数组中
-		for (const auto& row : result) {
-			cout << "行:" << row.size() << endl;
-			for (const auto& item : row) {
-				cout << item << " ";
-
-			}
-		}
-			cout << endl;
-		for (size_t i = 0; i < result.size(); ++i) {
-			const auto& row = result[i];
-			ParsedLog parlog;
-			if (row.size() >= 9) {
-				parlog.id = stoi(row[0]);
-				strncpy(parlog.timeStamp, row[1].c_str(), sizeof(parlog.timeStamp));
-				strncpy(parlog.deviceId, row[2].c_str(), sizeof(parlog.deviceId));
-				strncpy(parlog.level, row[3].c_str(), sizeof(parlog.level));
-				strncpy(parlog.content, row[4].c_str(), sizeof(parlog.content));
-				strncpy(parlog.userId, row[5].c_str(), sizeof(parlog.userId));
-				strncpy(parlog.fileName, row[6].c_str(), sizeof(parlog.fileName));
-				parlog.problemLine = stoi(row[7]);
-				strncpy(parlog.functionName, row[8].c_str(), sizeof(parlog.functionName));
-				res->parsedLog[i] = parlog;  // 填充数据
-			}
-		}
-
-		// 发送响应
-		cout << __FUNCTION__ << send(client, (char*)res, res->head.len, 0) << endl;
-
-		// 释放内存
-		free(res);  // 释放分配的内存
-
-}
diff --git "a/Client/\346\234\261\350\210\252/code/\346\234\215\345\212\241\347\253\257/LogSearch.h" "b/Client/\346\234\261\350\210\252/code/\346\234\215\345\212\241\347\253\257/LogSearch.h"
deleted file mode 100644
index 73684e1..0000000
--- "a/Client/\346\234\261\350\210\252/code/\346\234\215\345\212\241\347\253\257/LogSearch.h"
+++ /dev/null
@@ -1,17 +0,0 @@
-#pragma once
-#include "common.h"
-#include <WinSock2.h>
-#include "mysql1/include/jdbc/mysql_driver.h"
-#include "mysql1/include/jdbc/mysql_connection.h"
-#include "mysql1/include/jdbc/cppconn/prepared_statement.h"
-#include "mysql1/include/jdbc/cppconn/resultset.h"
-#include "mysql1/include/jdbc/cppconn//exception.h"
-#include <iostream>
-class LogSearch
-{
-public:
-	LogSearch();
-	virtual ~LogSearch();
-	bool searchLogBusiness(SOCKET client, LogQueryReq* req);
-};
-
diff --git "a/Client/\346\235\216\345\256\265\345\242\236/log/\345\216\206\345\217\262\346\237\245\350\257\242_\346\235\216\345\256\265\345\242\236_1106.doc" "b/Client/\346\235\216\345\256\265\345\242\236/log/\345\216\206\345\217\262\346\237\245\350\257\242_\346\235\216\345\256\265\345\242\236_1106.doc"
new file mode 100644
index 0000000..9e4b9be
--- /dev/null
+++ "b/Client/\346\235\216\345\256\265\345\242\236/log/\345\216\206\345\217\262\346\237\245\350\257\242_\346\235\216\345\256\265\345\242\236_1106.doc"
Binary files differ
diff --git "a/Server/\347\216\213\347\220\250\345\205\203/code/MysqlConn.cpp" "b/Server/\347\216\213\347\220\250\345\205\203/code/MysqlConn.cpp"
index 071cf5f..00003aa 100644
--- "a/Server/\347\216\213\347\220\250\345\205\203/code/MysqlConn.cpp"
+++ "b/Server/\347\216\213\347\220\250\345\205\203/code/MysqlConn.cpp"
@@ -11,8 +11,6 @@
         cout << "Failed to initialize MySQL." << endl;
         return;
     }
-    // 设置字符集
-    if (m_mysql) mysql_set_character_set(m_mysql, "gbk");
     // 使用写死的参数连接数据库
     m_mysql = mysql_real_connect(m_mysql, "127.0.0.1", "root", "123456", "mayi_kunlun", 3306, nullptr, 0);
     if (!m_mysql) {
@@ -22,25 +20,13 @@
         m_mysql = nullptr;
     }
     // 初始化 row_ 和 res_
+    if (m_mysql) mysql_set_character_set(m_mysql, "gbk");
     m_row = nullptr;
     m_res = nullptr;
 }
 bool MysqlConn::isConnected() {
     return m_mysql != nullptr;
 }
-// 连接数据库
-//bool MysqlConn::connect() {
-//    string ip = "127.0.0.1";
-//    string userName = "root";
-//    string passwd = "123456";
-//    string db = "mayi_kunlun";
-//    int port = 3306;
-//    m_mysql = mysql_real_connect(mysql_, ip.c_str(), userName.c_str(), passwd.c_str(), db.c_str(), port, nullptr, 0);
-//    if (!m_mysql) {
-//        return false;
-//    }
-//    return true;
-//}
 
 // 释放资源
 MysqlConn::~MysqlConn() {
@@ -64,7 +50,6 @@
     }
     int paramCount = mysql_stmt_param_count(stmt);
     if (paramCount > 0) {
-        // 如果有参数,需要进行参数绑定等操作,这里暂不实现
         mysql_stmt_close(stmt);
         return false;
     }
@@ -91,6 +76,7 @@
     //int col_cnt = m_mysql->field_count;
     int col_cnt = mysql_field_count(m_mysql);
     cout << col_cnt << endl;
+    MYSQL_ROW m_row;
     while (m_row = mysql_fetch_row(m_res)) {
         vector<string> tmp;
         for (int i = 0; i < col_cnt; i++) {
@@ -104,7 +90,7 @@
 // 查询数据库
 bool MysqlConn::query(string sql) {
     freeRes();
-    // 参数化查询优化后的安全检查
+     //参数化查询优化后的安全检查
     MYSQL_STMT* stmt = mysql_stmt_init(m_mysql);
     if (!stmt) {
         return false;
diff --git "a/Server/\347\216\213\347\220\250\345\205\203/code/MysqlConn.h" "b/Server/\347\216\213\347\220\250\345\205\203/code/MysqlConn.h"
index a6506d1..fe6d6fc 100644
--- "a/Server/\347\216\213\347\220\250\345\205\203/code/MysqlConn.h"
+++ "b/Server/\347\216\213\347\220\250\345\205\203/code/MysqlConn.h"
@@ -51,4 +51,5 @@
 	MYSQL_RES* m_res;
 	MYSQL_ROW m_row;
 	chrono::steady_clock::time_point  m_activeTime;
+
 };
diff --git "a/Server/\347\216\213\347\220\250\345\205\203/log/\346\227\245\345\277\227\346\250\241\346\235\277_\347\216\213\347\220\250\345\205\203_1107.doc" "b/Server/\347\216\213\347\220\250\345\205\203/log/\346\227\245\345\277\227\346\250\241\346\235\277_\347\216\213\347\220\250\345\205\203_1107.doc"
new file mode 100644
index 0000000..ae141c7
--- /dev/null
+++ "b/Server/\347\216\213\347\220\250\345\205\203/log/\346\227\245\345\277\227\346\250\241\346\235\277_\347\216\213\347\220\250\345\205\203_1107.doc"
Binary files differ
diff --git "a/Server/\351\251\254\346\270\235\346\235\255/log/20241107\346\230\206\344\273\221\346\227\245\346\212\245.doc" "b/Server/\351\251\254\346\270\235\346\235\255/log/20241107\346\230\206\344\273\221\346\227\245\346\212\245.doc"
new file mode 100644
index 0000000..ae20b78
--- /dev/null
+++ "b/Server/\351\251\254\346\270\235\346\235\255/log/20241107\346\230\206\344\273\221\346\227\245\346\212\245.doc"
Binary files differ
diff --git "a/Server/\351\251\254\346\270\235\346\235\255/log/\346\227\245\345\277\227_\351\251\254\346\270\235\346\235\255_20241107.doc" "b/Server/\351\251\254\346\270\235\346\235\255/log/\346\227\245\345\277\227_\351\251\254\346\270\235\346\235\255_20241107.doc"
new file mode 100644
index 0000000..22ce2b3
--- /dev/null
+++ "b/Server/\351\251\254\346\270\235\346\235\255/log/\346\227\245\345\277\227_\351\251\254\346\270\235\346\235\255_20241107.doc"
Binary files differ
diff --git a/kunlun.sql b/kunlun.sql
index 32d9688..9d4750b 100644
--- a/kunlun.sql
+++ b/kunlun.sql
@@ -44,21 +44,22 @@
   `area` varchar(50) DEFAULT NULL,
   `longitude` double DEFAULT NULL,
   `latitude` double DEFAULT NULL,
-  `purchasing_time` varchar(50) DEFAULT NULL,
-  `install_time` varchar(50) DEFAULT NULL,
+  `purchasing_time` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `install_time` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
   `manufacturer` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
-  `mark_name` varchar(50) DEFAULT NULL,
   `mark_time` varchar(50) DEFAULT NULL,
+  `mark_status` int DEFAULT NULL,
   PRIMARY KEY (`id`)
-) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
 
--- 姝e湪瀵煎嚭琛�  mayi_kunlun.devices_management_info 鐨勬暟鎹細~5 rows (澶х害)
-INSERT INTO `devices_management_info` (`id`, `devices_name`, `devices_type`, `devices_serial_number`, `devices_status`, `area`, `longitude`, `latitude`, `purchasing_time`, `install_time`, `manufacturer`, `mark_name`, `mark_time`) VALUES
+-- 姝e湪瀵煎嚭琛�  mayi_kunlun.devices_management_info 鐨勬暟鎹細~6 rows (澶х害)
+INSERT INTO `devices_management_info` (`id`, `devices_name`, `devices_type`, `devices_serial_number`, `devices_status`, `area`, `longitude`, `latitude`, `purchasing_time`, `install_time`, `manufacturer`, `mark_time`, `mark_status`) VALUES
 	(6, '6', '6', '6', '6', '8', 8, 8, '8', '8', '8', NULL, NULL),
 	(7, '1', '4', '4', '2', '6', 6, 9, '9', '2', '2', NULL, NULL),
 	(8, '1', '2', '3', '2', '3', 2, 2, '3', '3', '1', NULL, NULL),
 	(9, '10', '2', '3', '2', '3', 2, 2, '3', '3', '1', NULL, NULL),
-	(10, '6', '5', '5', '5', '5', 5, 5, '5', '5', '5', NULL, NULL);
+	(10, '6', '5', '5', '5', '5', 5, 5, '5', '5', '5', NULL, NULL),
+	(12, '312', '231', '324', '1321', '312', 312, 321, '2024-01-01', '2024-01-01', '3124', NULL, NULL);
 
 -- 瀵煎嚭  琛� mayi_kunlun.month_info 缁撴瀯
 CREATE TABLE IF NOT EXISTS `month_info` (
@@ -143,7 +144,7 @@
   `id` int NOT NULL AUTO_INCREMENT,
   `department` varchar(50) DEFAULT NULL,
   `user_name` varchar(32) DEFAULT NULL,
-  `password` varchar(32) DEFAULT NULL,
+  `password` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
   `user_no` varchar(10) DEFAULT NULL,
   `age` int DEFAULT NULL,
   `sex` varchar(10) DEFAULT NULL,
@@ -154,6 +155,7 @@
   `login_time` datetime DEFAULT NULL,
   `register_time` datetime DEFAULT NULL,
   PRIMARY KEY (`id`),
+  UNIQUE KEY `unique_constraint_name` (`user_name`),
   KEY `role_id` (`role_id`),
   CONSTRAINT `user_info_ibfk_1` FOREIGN KEY (`role_id`) REFERENCES `role_info` (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
@@ -209,11 +211,3 @@
 /*!40014 SET FOREIGN_KEY_CHECKS=IFNULL(@OLD_FOREIGN_KEY_CHECKS, 1) */;
 /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
 /*!40111 SET SQL_NOTES=IFNULL(@OLD_SQL_NOTES, 1) */;
-<<<<<<< HEAD
-<<<<<<< HEAD
-z
-=======
-SELECT id,devices_name,longitude,latitude,devices_status FROM devices_management;
->>>>>>> 2e420a0a40cc3fcc62bcb42ee6a25f4ad4f22dd3
-=======
->>>>>>> d4c3d3a2b8a3e1507ca835870073df807cdb87df
diff --git "a/\350\241\250.docx" "b/\350\241\250.docx"
index bc46585..d21b45c 100644
--- "a/\350\241\250.docx"
+++ "b/\350\241\250.docx"
Binary files differ

--
Gitblit v1.8.0