tchttpservice.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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. QUrl encodeUrl(QString url, QMap<QString, QString> params);
  31. void updateFileMap(QJsonObject jsonObj);
  32. signals:
  33. void signal_loginSuc();
  34. void signal_uploadSuc();
  35. void signal_shareSuc();
  36. void requestFinished(QNetworkReply* reply, QString api);
  37. private:
  38. explicit TCHttpService(QObject *parent = nullptr);
  39. static QScopedPointer<TCHttpService> m_instance;
  40. QNetworkAccessManager m_manager;
  41. QString m_token;
  42. QString m_domain;
  43. QString m_firstPwd;
  44. QString m_userName;
  45. QMap<QString, QString> m_fileMap;
  46. int m_total;
  47. bool m_enableSsl = true;
  48. signals:
  49. };
  50. #endif // TCHTTPSERVICE_H