// // Created by HW on 2023/07/27. // #ifndef OFFICEASSISTANT_NETIO_H #define OFFICEASSISTANT_NETIO_H #include #include #include #include #include #include #include #include typedef struct { QString img; QString img_cover; QString title; QString func; QString url; } Menu; typedef struct { bool succeed; struct { QString logo_url; QString device_id; QString dev_id; QString token; QString backgroud_color; QString title_color; QString title_cover_color; }basic; QList *menus; }ConfigResponse; class RequestBodyBase:public QObject{ Q_OBJECT; public: RequestBodyBase(); virtual void sendRequest(); protected: QString product; QString partner_id; QString os; QString os_version; QString device_id; QString request_id; QString version; QString release; QString sign; QJsonDocument qJsonDocument; QNetworkReply *reply; QEventLoop eventLoop; QTimer *timer; protected slots: void cancelDownload(); }; class ConfigRequest:public RequestBodyBase{ public: ConfigRequest():RequestBodyBase(){} void sendRequest(ConfigResponse * configResponse); }; class OpRequest:public RequestBodyBase{ public: OpRequest(QString Op,QString OpValue):RequestBodyBase(),op(Op),op_value(OpValue){ QJsonObject obj_root=qJsonDocument.object(); QJsonValue value=op; obj_root.insert("op",op); value=op_value; obj_root.insert("op_value",op_value); qJsonDocument.setObject(obj_root); } QString getOpValue(){ return op_value; } QString getOp(){ return op; } void setOpValue(QString op_value){ this->op_value=op_value; } void setOp(QString op){ this->op=op; } void sendRequest(); protected: QString op; QString op_value; }; class DeviceRequest:RequestBodyBase{ DeviceRequest(); }; class OpenMulitiWechat:public RequestBodyBase{ public: OpenMulitiWechat(): RequestBodyBase(){} }; #endif //OFFICEASSISTANT_NETIO_H