#ifndef TCHTTPSERVICE_H #define TCHTTPSERVICE_H #include #include #include #include #include #include #include #include #include #include #include #include #include class TCHttpService : public QObject { Q_OBJECT public: static TCHttpService* getInstance(); void apiLogin(); void apiMyfileCount(); void apiMyfileNormal(); void apiMd5(const QString& filePath); void apiUpload(const QString& filePath, const QString& md5); void apiSharePicShare(const QString& fileName, const QString& md5); void setConfiguration(QString userName, QString firstPwd, QString domain); void setSsl(bool enable); private: QNetworkReply* Get(const QUrl& url, const QMap headers = {}, const QMap params = {}); QNetworkReply* Post(const QUrl& url, const QMap headers = {}, const QMap params = {}, const QByteArray body =QByteArray()); QByteArray Post(QUrl url, QMap headers = {}, QMap params = {}, QByteArray body =QByteArray(), int i = 1); void updateFileMap(QJsonObject jsonObj); signals: void signal_loginSuc(); void signal_uploadSuc(); void signal_shareSuc(); void requestFinished(QNetworkReply* reply); private: explicit TCHttpService(QObject *parent = nullptr); static QScopedPointer m_instance; QNetworkAccessManager m_manager; QString m_token; QString m_domain; QString m_firstPwd; QString m_userName; QMap m_fileMap; int m_total; bool m_enableSsl = true; signals: }; #endif // TCHTTPSERVICE_H