Files
picpanel/core_support/tchttpservice/tchttpservice.h
2025-03-24 02:04:00 +08:00

63 lines
1.4 KiB
C++

#ifndef TCHTTPSERVICE_H
#define TCHTTPSERVICE_H
#include <QObject>
#include <QNetworkAccessManager>
#include <QUrlQuery>
#include <QCryptographicHash>
#include <QNetworkReply>
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonObject>
#include <QJsonArray>
#include <QFile>
#include <QFileInfo>
#include <QHttpMultiPart>
#include <QHttpPart>
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:
QUrl encodeUrl(QString url, QMap<QString, QString> params);
void updateFileMap(QJsonObject jsonObj);
signals:
void signal_loginSuc();
void signal_uploadSuc();
void signal_shareSuc();
void requestFinished(QNetworkReply* reply, QString api);
private:
explicit TCHttpService(QObject *parent = nullptr);
static QScopedPointer<TCHttpService> m_instance;
QNetworkAccessManager m_manager;
QString m_token;
QString m_domain;
QString m_firstPwd;
QString m_userName;
QMap<QString, QString> m_fileMap;
int m_total;
bool m_enableSsl = true;
signals:
};
#endif // TCHTTPSERVICE_H