fix(ai-search):可以搜到黑名单中的文件.

This commit is contained in:
JunjieBai 2024-05-16 20:39:58 +08:00
parent 898fff5054
commit 0ad53563e3
1 changed files with 16 additions and 0 deletions

View File

@ -24,6 +24,8 @@
#include "thumbnail-creator.h" #include "thumbnail-creator.h"
#include "file-indexer-config.h" #include "file-indexer-config.h"
#include "data-collecter.h" #include "data-collecter.h"
#include "file-utils.h"
#include "dir-watcher.h"
#include <unistd.h> #include <unistd.h>
#include <QMessageBox> #include <QMessageBox>
#include <QJsonObject> #include <QJsonObject>
@ -293,6 +295,20 @@ void AiSearch::keywordSearch()
data_management_similarity_search(s_session, QJsonDocument(keyword).toJson().data(), &results); data_management_similarity_search(s_session, QJsonDocument(keyword).toJson().data(), &results);
for (const auto &aResult : QJsonDocument::fromJson(results).array()) { for (const auto &aResult : QJsonDocument::fromJson(results).array()) {
if (aResult.isObject()) { if (aResult.isObject()) {
bool isBlocked(false);
QStringList blockList = DirWatcher::getDirWatcher()->getBlockDirsOfUser();
QString filePath = aResult.toObject().value("filepath").toString();
for (const auto& blockDir : blockList) {
if (FileUtils::isOrUnder(filePath, blockDir)) {
isBlocked = true;
break;
}
}
if (isBlocked) {
continue;
}
SearchPluginIface::ResultInfo ri; SearchPluginIface::ResultInfo ri;
if (createResultInfo(ri, aResult.toObject().value("filepath").toString())) { if (createResultInfo(ri, aResult.toObject().value("filepath").toString())) {
AiSearchPlugin::mutex.lock(); AiSearchPlugin::mutex.lock();