Files
picpanel/core_support/urldatabase/urldatabase.h

56 lines
1.3 KiB
C++

#ifndef URLDATABASE_H
#define URLDATABASE_H
#include <QObject>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>
#include <QDateTime>
#include <QString>
#include <QUrl>
#include <QHash>
#include <QMutex>
#include <QStandardPaths>
class ImageManager : public QObject
{
Q_OBJECT
private:
explicit ImageManager(QObject *parent = nullptr);
~ImageManager();
public:
static ImageManager* instance();
// 初始化数据库连接
bool initialize(const QString &dbPath);
// 添加域名-用户对(不重复)
bool addDomainUser(const QString &domain, const QString &user);
// 上传成功后添加图片URL
bool addImageUrl(const QString &domain, const QString &user, const QUrl &imageUrl);
// 获取特定域名-用户的所有图片URL
QList<QUrl> getImageUrls(const QString &domain, const QString &user);
// 检查域名-用户对是否存在
bool containsDomainUser(const QString &domain, const QString &user);
private:
static ImageManager* m_instance;
static QMutex m_mutex;
QSqlDatabase m_db;
bool createTables();
bool addDomain(const QString &domain);
bool addUser(const QString &user);
int getDomainId(const QString &domain);
int getUserId(const QString &user);
};
#endif // URLDATABASE_H