#ifndef TCHTTPSERVICE_H #define TCHTTPSERVICE_H #define DEBUG 1 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "urldatabase.h" class TCHttpService : public QObject { Q_OBJECT private: public: static TCHttpService* getInstance(); void apiLogin(); #if 0 void apiMyfileCount(); void apiMyfileNormal(int start, int count); void apiMd5(const QString& filePath); #endif void apiUpload(const QString& filePath); void apiSharePicShare(const QString& fileName, const QString& md5); void setConfiguration(QString userName, QString firstPwd, QString domain); void setSsl(bool enable); bool getOnlineState(); void setUploadNum(int nb); void downloadImage(const QString& requestId, const QUrl& imageUrl); private: QUrl encodeUrl(QString url, QMap params); signals: void signal_loginSuc(); void signal_shareSuc(); void signal_uploadFileSec(QString url); void requestFinished(QNetworkReply* reply, QString api); void signal_imageDownloaded(const QString& requestId, const QPixmap& pixmap); void signal_downloadFailed(const QString& requestId, const QString& error); 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; int m_total; bool m_enableSsl = true; bool m_isOnline = false; bool m_uploadNum = 0; QHash m_pendingRequests; private slots: void slot_downloadFinished(QNetworkReply* reply); }; #endif // TCHTTPSERVICE_H