12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #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
|