56 lines
1.3 KiB
C++
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
|