You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

120 lines
2.3 KiB
C

2 years ago
#ifndef CLIENT_H
#define CLIENT_H
#define CPPHTTPLIB_OPENSSL_SUPPORT
2 years ago
#include <httplib.h>
#include <json.hpp>
2 years ago
#include <codecvt>
#include <string>
#include <iostream>
2 years ago
#include <httplib.h>
#include <QString>
2 years ago
2 years ago
using namespace std;
2 years ago
void delNameFromList(QString element);
2 years ago
class FlangeClass // 法兰类
{
public:
int errorCode;
QString flangeId;
QString errorInfo;
QString fanCode;
QString flangeState;
std::map<QString, QString> features;
};
class HeadroomClass // 净空类
{
public:
int errorCode;
int flangeId;
QString errorInfo;
QString fanCode;
QString featureName;
double featureValue = 0;
};
class GyroClass // 陀螺仪类
{
public:
int errorCode;
int flangeId;
QString errorInfo;
QString fanCode;
QString featureName;
double featureValue;
};
2 years ago
class FanClass // 风机类
{
public:
int errorCode;
int fanId;
2 years ago
double angle = 0; // 角度
double distance = 0; // 相对距离
2 years ago
QString errorInfo;
QString fanCode;
QString flangeState;
QString headroomState;
QString gyroState;
2 years ago
std::map<QString, FlangeClass> flanges;
std::vector<GyroClass> gyros;
std::vector<HeadroomClass> headrooms;
2 years ago
};
2 years ago
2 years ago
class FanManage // 所有风机管理类
{
public:
std::map<QString, FanClass> allFans; // 所有风机
2 years ago
std::map<int, FanClass> idMaps; // 根据ID获取风机
2 years ago
std::map<QString, QString> states; // 风机状态
2 years ago
std::vector<QString> interruptedFans; // 通讯中断
std::vector<QString> standbyFans; // 待机等风
std::vector<QString> normalFans; // 正常运行
std::vector<QString> hutdownFans; // 停机维护
std::vector<QString> failureFans; // 故障停机
std::vector<QString> runFans; // 启动
};
2 years ago
class HTTPClient
{
private:
2 years ago
httplib::Headers header;
string loginIndex;
string fanListIndex;
string headroomDetailIndex;
string gyroDetailIndex;
string featureHistoryIndex;
2 years ago
string flangeIndex;
2 years ago
2 years ago
public:
httplib::Client client;
HTTPClient();
2 years ago
void getFanList();
2 years ago
void getFlangeList(int fanId);
void getHeadroomList(int fanId);
void getGyroList(int fanId);
2 years ago
QString getHistoryList(int fanId);
2 years ago
};
2 years ago
extern HTTPClient httpClient;
2 years ago
extern FanManage fans;
2 years ago
2 years ago
#endif // CLIENT_H