tchttpservice.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #ifndef TCHTTPSERVICE_H
  2. #define TCHTTPSERVICE_H
  3. #include <QObject>
  4. #include <QNetworkAccessManager>
  5. #include <QUrlQuery>
  6. #include <QCryptographicHash>
  7. #include <QNetworkReply>
  8. #include <QJsonDocument>
  9. #include <QJsonObject>
  10. #include <QJsonObject>
  11. #include <QJsonArray>
  12. #include <QFile>
  13. #include <QFileInfo>
  14. #include <QHttpMultiPart>
  15. #include <QHttpPart>
  16. class TCHttpService : public QObject
  17. {
  18. Q_OBJECT
  19. public:
  20. static TCHttpService* getInstance();
  21. void apiLogin();
  22. void apiMyfileCount();
  23. void apiMyfileNormal();
  24. void apiMd5(const QString& filePath);
  25. void apiUpload(const QString& filePath, const QString& md5);
  26. void apiSharePicShare(const QString& fileName, const QString& md5);
  27. void setConfiguration(QString userName, QString firstPwd, QString domain);
  28. void setSsl(bool enable);
  29. private:
  30. QNetworkReply* Get(const QUrl& url, const QMap<QString, QString> headers = {},
  31. const QMap<QString, QString> params = {});
  32. QNetworkReply* Post(const QUrl& url, const QMap<QString, QString> headers = {},
  33. const QMap<QString, QString> params = {}, const QByteArray body =QByteArray());
  34. QByteArray Post(QUrl url, QMap<QString, QString> headers = {},
  35. QMap<QString, QString> params = {}, QByteArray body =QByteArray(), int i = 1);
  36. void updateFileMap(QJsonObject jsonObj);
  37. signals:
  38. void signal_loginSuc();
  39. void signal_uploadSuc();
  40. void signal_shareSuc();
  41. void requestFinished(QNetworkReply* reply);
  42. private:
  43. explicit TCHttpService(QObject *parent = nullptr);
  44. static QScopedPointer<TCHttpService> m_instance;
  45. QNetworkAccessManager m_manager;
  46. QString m_token;
  47. QString m_domain;
  48. QString m_firstPwd;
  49. QString m_userName;
  50. QMap<QString, QString> m_fileMap;
  51. int m_total;
  52. bool m_enableSsl = true;
  53. signals:
  54. };
  55. #endif // TCHTTPSERVICE_H