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