httprequest.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #ifndef HTTPREQUEST_H
  2. #define HTTPREQUEST_H
  3. #include <QObject>
  4. #include <QMap>
  5. #include <QJsonObject>
  6. #include <QNetworkAccessManager>
  7. #include <QNetworkRequest>
  8. #include <QHttpMultiPart>
  9. class HttpRequest : public QObject
  10. {
  11. Q_OBJECT
  12. public:
  13. explicit HttpRequest(QObject *parent = nullptr);
  14. inline void setUserToken(const QString & aid, const QString & token)
  15. {
  16. _aid = aid;
  17. _token = token;
  18. }
  19. inline QString getUser()
  20. {
  21. return _aid;
  22. }
  23. inline QString getUserToken()
  24. {
  25. return _token;
  26. }
  27. inline QNetworkAccessManager * manger() {return &_manager;}
  28. QNetworkRequest request(const QString & url);
  29. signals:
  30. void result(int code, const QJsonObject & body);
  31. public slots:
  32. void get(const QString & url);
  33. void post(const QString & url, const QMap<QString,QString> & body);
  34. void post(const QString & url, const QJsonObject & body);
  35. private slots:
  36. void finishRequest(QNetworkReply*);
  37. private:
  38. void initRequest(QNetworkRequest & req, bool post = false);
  39. void initMultiPart(QHttpMultiPart & part,const QMap<QString,QString> body);
  40. // void initMultiPart(QHttpMultiPart & part,const QMap<QString,QVariant> body);
  41. private:
  42. QString _aid;
  43. QString _token;
  44. QNetworkAccessManager _manager;
  45. };
  46. #endif // HTTPREQUEST_H