#ifndef URLDATABASE_H #define URLDATABASE_H #include #include #include #include #include #include #include #include #include #include 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 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