diff --git a/src/app/main.cpp b/src/app/main.cpp index faaae99..1a4b111 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -1959,9 +1959,9 @@ void buildWorkbench(QMainWindow& window, geopro::data::LocalSampleRepository& re // 对象树右键菜单动作路由。 QObject::connect( objectTree, &geopro::app::ObjectTreePanel::contextActionRequested, &window, - [&nav, &projectRepo, &window, anomalyTabGroup, toast, objAttrView, objectTree]( - const QString& action, const QString& id, int confType, const QString& typeId, - const QString& name) { + [&nav, &projectRepo, &window, anomalyTabGroup, toast, objAttrView, objectTree, + &localRadarStore](const QString& action, const QString& id, int confType, + const QString& typeId, const QString& name) { if (action == QStringLiteral("properties")) { nav.selectObject(id, confType); // 右键「属性」:用可编辑面板渲染(与左键单击同口径)。 @@ -2536,6 +2536,7 @@ int main(int argc, char* argv[]) const QString appDir = QCoreApplication::applicationDirPath(); const QStringList candidates = { appDir + QStringLiteral("/sampledata"), + QDir::cleanPath(appDir + QStringLiteral("/../../../../docs/剖面网格数据的色阶数据2等文件")), QStringLiteral("D:/Git/lanbingtech/geopro/docs/剖面网格数据的色阶数据2等文件"), }; for (const auto& c : candidates) { diff --git a/src/net/ApiClient.cpp b/src/net/ApiClient.cpp index f8a94df..9887ce7 100644 --- a/src/net/ApiClient.cpp +++ b/src/net/ApiClient.cpp @@ -30,6 +30,7 @@ struct ApiClient::Impl { QNetworkRequest buildRequest(const QString& path) const { QNetworkRequest req{QUrl(baseUrl + path)}; req.setHeader(QNetworkRequest::ContentTypeHeader, QString::fromLatin1(kContentTypeJson)); + req.setTransferTimeout(15000); // 15 秒超时:避免服务器不可达时 UI 永久卡住 if (!token.isEmpty()) { req.setRawHeader(QByteArray(kTokenHeader), token.toUtf8()); } @@ -100,6 +101,7 @@ IApiCall* ApiClient::postMultipartAsync(const QString& path, // multipart 自带 boundary 的 Content-Type:用不含 JSON 头的请求,只保留 token。 QNetworkRequest req{QUrl(impl_->baseUrl + path)}; + req.setTransferTimeout(15000); if (!impl_->token.isEmpty()) req.setRawHeader(QByteArray(kTokenHeader), impl_->token.toUtf8()); QNetworkReply* reply = impl_->nam.post(req, multi);