支持全量转码和按需转码

This commit is contained in:
taocong
2026-09-10 16:01:54 +08:00
parent eab73a11ca
commit 644fa8b4ce
17 changed files with 1083 additions and 147 deletions
+24 -9
View File
@@ -45,7 +45,8 @@ bool validateLsFunctionNames(QWidget *parent, const QStringList &functionNames)
}
QMessageBox::warning(parent, "提示",
QString("不支持非LS业务转码:\n%1").arg(nonLsNames.join('\n')));
QString("\"全量转码\"仅支持 LS_ 开头的功能,以下功能无法加入:\n%1\n\n非LS功能请切到\"按需转码\"工作台添加。")
.arg(nonLsNames.join('\n')));
return false;
}
@@ -431,7 +432,7 @@ bool BatchConvertPage::saveToCustJson(const QStringList &funcList)
QFile file(jsonPath);
if (!file.open(QIODevice::ReadOnly)) {
LogManager::instance()->logWarning(
QString("业务转码 - 保存配置失败,无法打开: %1").arg(jsonPath));
QString("全量转码 - 保存配置失败,无法打开: %1").arg(jsonPath));
return false;
}
@@ -442,7 +443,7 @@ bool BatchConvertPage::saveToCustJson(const QStringList &funcList)
static QRegularExpression convertRe(R"("convert"\s*:)");
auto convertMatch = convertRe.match(content);
if (!convertMatch.hasMatch()) {
LogManager::instance()->logWarning("业务转码 - 保存配置失败,未找到 convert 节点");
LogManager::instance()->logWarning("全量转码 - 保存配置失败,未找到 convert 节点");
return false;
}
@@ -450,7 +451,7 @@ bool BatchConvertPage::saveToCustJson(const QStringList &funcList)
static QRegularExpression dirRe(R"("dir"\s*:\s*\[)");
auto dirMatch = dirRe.match(content, convertMatch.capturedEnd());
if (!dirMatch.hasMatch()) {
LogManager::instance()->logWarning("业务转码 - 保存配置失败,未找到 dir 数组");
LogManager::instance()->logWarning("全量转码 - 保存配置失败,未找到 dir 数组");
return false;
}
@@ -484,7 +485,7 @@ bool BatchConvertPage::saveToCustJson(const QStringList &funcList)
// 写回
if (!file.open(QIODevice::WriteOnly | QIODevice::Truncate)) {
LogManager::instance()->logWarning(
QString("业务转码 - 保存配置失败,无法写入: %1").arg(jsonPath));
QString("全量转码 - 保存配置失败,无法写入: %1").arg(jsonPath));
return false;
}
@@ -504,7 +505,7 @@ void BatchConvertPage::loadFromCustJson()
QFile file(jsonPath);
if (!file.open(QIODevice::ReadOnly)) {
LogManager::instance()->logWarning(
QString("业务转码 - 加载配置失败,无法打开: %1").arg(jsonPath));
QString("全量转码 - 加载配置失败,无法打开: %1").arg(jsonPath));
return;
}
@@ -515,7 +516,7 @@ void BatchConvertPage::loadFromCustJson()
QJsonDocument doc = QJsonDocument::fromJson(data, &parseError);
if (parseError.error != QJsonParseError::NoError) {
LogManager::instance()->logWarning(
QString("业务转码 - 加载配置 JSON 解析失败: %1").arg(parseError.errorString()));
QString("全量转码 - 加载配置 JSON 解析失败: %1").arg(parseError.errorString()));
return;
}
@@ -576,6 +577,20 @@ void BatchConvertPage::onConvertFinished()
m_startBtn->setStyleSheet("background-color: #1abc9c; color: white; padding: 10px 30px; font-size: 14px; border: none; border-radius: 4px;");
}
void BatchConvertPage::setTaskBusy(bool busy)
{
if (!m_startBtn) {
return;
}
m_startBtn->setEnabled(!busy);
if (busy) {
m_progressBar->setValue(0);
m_progressLabel->setText("有其他转换任务进行中,请等待完成...");
} else {
m_progressLabel->setText("等待开始...");
}
}
void BatchConvertPage::addFunction(const QString &funcName)
{
if (funcName.isEmpty()) {
@@ -591,9 +606,9 @@ void BatchConvertPage::addFunction(const QString &funcName)
updateTable();
if (saveToCustJson(m_funcList)) {
QMessageBox::information(nullptr, "提示", QString("已将功能 [%1] 添加到业务转码").arg(funcName));
QMessageBox::information(nullptr, "提示", QString("已将功能 [%1] 添加到\"全量转码\"").arg(funcName));
} else {
QMessageBox::warning(nullptr, "警告", "添加到业务转码成功,但保存到 cust.json 失败");
QMessageBox::warning(nullptr, "警告", "添加到\"全量转码\"成功,但保存到 cust.json 失败");
}
}