完善移动端布局与发布配置
This commit is contained in:
+2
-3
@@ -91,10 +91,9 @@ bool ApiClient::isConnectionError(QNetworkReply::NetworkError error) const
|
||||
|
||||
void ApiClient::emitNetworkError(const QString &prefix, QNetworkReply *reply)
|
||||
{
|
||||
const QString message = QStringLiteral("%1: %2").arg(prefix, reply->errorString());
|
||||
emit networkError(message);
|
||||
emit networkError(prefix);
|
||||
if (isConnectionError(reply->error())) {
|
||||
emit connectionUnavailable(message);
|
||||
emit connectionUnavailable(prefix);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+20
-10
@@ -42,6 +42,18 @@ bool isSuccessStatus(const QString &status)
|
||||
|| normalized == QStringLiteral("签到成功")
|
||||
|| normalized == QStringLiteral("正常");
|
||||
}
|
||||
|
||||
QString conciseStatusMessage(const QString &message)
|
||||
{
|
||||
if (message.contains(QStringLiteral("Error transferring"), Qt::CaseInsensitive)
|
||||
|| message.contains(QStringLiteral("Connection refused"), Qt::CaseInsensitive)
|
||||
|| message.contains(QStringLiteral("Host not found"), Qt::CaseInsensitive)
|
||||
|| message.contains(QStringLiteral("Network unreachable"), Qt::CaseInsensitive)
|
||||
|| message.contains(QStringLiteral("timed out"), Qt::CaseInsensitive)) {
|
||||
return QStringLiteral("服务器未连接,稍后重试");
|
||||
}
|
||||
return message;
|
||||
}
|
||||
}
|
||||
|
||||
AppController::AppController(QObject *parent)
|
||||
@@ -673,32 +685,30 @@ void AppController::mergeFaceItems()
|
||||
|
||||
void AppController::setStatusMessage(const QString &message)
|
||||
{
|
||||
if (message == m_statusMessage) {
|
||||
const QString displayMessage = conciseStatusMessage(message);
|
||||
if (displayMessage == m_statusMessage) {
|
||||
return;
|
||||
}
|
||||
m_statusMessage = message;
|
||||
m_statusMessage = displayMessage;
|
||||
emit statusMessageChanged();
|
||||
}
|
||||
|
||||
void AppController::startReconnect(const QString &reason)
|
||||
{
|
||||
Q_UNUSED(reason)
|
||||
|
||||
if (!m_reconnecting) {
|
||||
m_reconnecting = true;
|
||||
m_reconnectAttempt = 0;
|
||||
emit reconnectStateChanged();
|
||||
}
|
||||
|
||||
const QString detail = reason.trimmed();
|
||||
if (m_reconnectCheckInFlight || m_reconnectTimer.isActive()) {
|
||||
setStatusMessage(detail.isEmpty()
|
||||
? QStringLiteral("服务器连接失败,正在等待自动重连")
|
||||
: QStringLiteral("服务器连接失败,正在等待自动重连: %1").arg(detail));
|
||||
setStatusMessage(QStringLiteral("服务器未连接,稍后重试"));
|
||||
return;
|
||||
}
|
||||
|
||||
setStatusMessage(detail.isEmpty()
|
||||
? QStringLiteral("服务器连接失败,%1 秒后自动重连").arg(ReconnectIntervalMs / 1000)
|
||||
: QStringLiteral("服务器连接失败,%1 秒后自动重连: %2").arg(ReconnectIntervalMs / 1000).arg(detail));
|
||||
setStatusMessage(QStringLiteral("服务器未连接,稍后重试"));
|
||||
scheduleReconnect();
|
||||
}
|
||||
|
||||
@@ -729,6 +739,6 @@ void AppController::runReconnectCheck()
|
||||
m_reconnectCheckInFlight = true;
|
||||
++m_reconnectAttempt;
|
||||
emit reconnectStateChanged();
|
||||
setStatusMessage(QStringLiteral("正在重连服务器,第 %1 次").arg(m_reconnectAttempt));
|
||||
setStatusMessage(QStringLiteral("正在重连服务器"));
|
||||
m_apiClient.checkHealth();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user