fix: 优化客户端错误提示和校验诊断信息
This commit is contained in:
+33
-18
@@ -1,5 +1,6 @@
|
||||
#include "LocalStateHelper.h"
|
||||
#include "ConfigHelper.h"
|
||||
#include <QCoreApplication>
|
||||
#include <QDir>
|
||||
#include <QFile>
|
||||
#include <QJsonDocument>
|
||||
@@ -29,30 +30,39 @@ bool LocalStateHelper::loadState(const QString& relativePath)
|
||||
{"last_success_version", QString()}
|
||||
};
|
||||
m_loaded = true;
|
||||
if (!saveState())
|
||||
{
|
||||
m_error = QString("Cannot write new state file: %1").arg(m_filePath);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
if (!saveState())
|
||||
{
|
||||
m_error = QCoreApplication::translate(
|
||||
"LocalStateHelper",
|
||||
"Cannot create local state file: %1. Error: %2.")
|
||||
.arg(m_filePath, m_error);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!file.open(QIODevice::ReadOnly))
|
||||
{
|
||||
m_error = QString("Cannot open state file: %1").arg(m_filePath);
|
||||
return false;
|
||||
}
|
||||
if (!file.open(QIODevice::ReadOnly))
|
||||
{
|
||||
m_error = QCoreApplication::translate(
|
||||
"LocalStateHelper",
|
||||
"Cannot open local state file: %1. Error: %2.")
|
||||
.arg(m_filePath, file.errorString());
|
||||
return false;
|
||||
}
|
||||
|
||||
QByteArray raw = file.readAll();
|
||||
file.close();
|
||||
|
||||
QJsonParseError parseError;
|
||||
QJsonDocument doc = QJsonDocument::fromJson(raw, &parseError);
|
||||
if (parseError.error != QJsonParseError::NoError || !doc.isObject())
|
||||
{
|
||||
m_error = QString("Invalid state JSON: %1").arg(parseError.errorString());
|
||||
return false;
|
||||
}
|
||||
if (parseError.error != QJsonParseError::NoError || !doc.isObject())
|
||||
{
|
||||
m_error = QCoreApplication::translate(
|
||||
"LocalStateHelper",
|
||||
"Local state file is not valid JSON. File: %1. JSON error: %2.")
|
||||
.arg(m_filePath, parseError.errorString());
|
||||
return false;
|
||||
}
|
||||
|
||||
m_state = doc.object();
|
||||
m_loaded = true;
|
||||
@@ -63,7 +73,9 @@ bool LocalStateHelper::saveState() const
|
||||
{
|
||||
if (!m_loaded)
|
||||
{
|
||||
m_error = "State is not loaded";
|
||||
m_error = QCoreApplication::translate(
|
||||
"LocalStateHelper",
|
||||
"Local state has not been loaded.");
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -71,7 +83,10 @@ bool LocalStateHelper::saveState() const
|
||||
QString writeError;
|
||||
if (!ConfigHelper::writeFileWithElevationIfNeeded(m_filePath, doc.toJson(QJsonDocument::Indented), &writeError))
|
||||
{
|
||||
m_error = QString("Cannot save state file: %1").arg(writeError);
|
||||
m_error = QCoreApplication::translate(
|
||||
"LocalStateHelper",
|
||||
"Cannot save local state file: %1. Error: %2.")
|
||||
.arg(m_filePath, writeError);
|
||||
return false;
|
||||
}
|
||||
m_error.clear();
|
||||
|
||||
Reference in New Issue
Block a user