From 6688f3c0ed4515559b85bec7f4a0d794ae7238b1 Mon Sep 17 00:00:00 2001 From: alves Date: Tue, 16 Dec 2025 17:24:13 +0800 Subject: [PATCH] feature add web version on bury point --- src/bury_cfg/bury_point.cpp | 2 +- src/sentry_wrapper/SentryWrapper.cpp | 8 +++++++ src/sentry_wrapper/SentryWrapper.hpp | 2 ++ src/slic3r/GUI/MainFrame.cpp | 36 +++++++++++++++++++++++++++- src/slic3r/GUI/MainFrame.hpp | 1 + 5 files changed, 47 insertions(+), 2 deletions(-) diff --git a/src/bury_cfg/bury_point.cpp b/src/bury_cfg/bury_point.cpp index a4f78fce14..cf3e1dc9ce 100644 --- a/src/bury_cfg/bury_point.cpp +++ b/src/bury_cfg/bury_point.cpp @@ -21,7 +21,7 @@ long long get_time_timestamp() { auto now = std::chrono::system_clock::now(); - auto timestamp = std::chrono::duration_cast(now.time_since_epoch()).count(); + auto timestamp = std::chrono::duration_cast(now.time_since_epoch()).count(); return timestamp; } diff --git a/src/sentry_wrapper/SentryWrapper.cpp b/src/sentry_wrapper/SentryWrapper.cpp index 3ed5d38982..25982b9d46 100644 --- a/src/sentry_wrapper/SentryWrapper.cpp +++ b/src/sentry_wrapper/SentryWrapper.cpp @@ -296,5 +296,13 @@ void sentryReportLog(SENTRY_LOG_LEVEL logLevel, #endif } +void set_sentry_tags(const std::string& tag_key, const std::string& tag_value) +{ +#ifdef SLIC3R_SENTRY + if (!tag_key.empty()) + sentry_set_tag(tag_key.c_str(), tag_value.c_str()); +#endif +} + } // namespace Slic3r diff --git a/src/sentry_wrapper/SentryWrapper.hpp b/src/sentry_wrapper/SentryWrapper.hpp index c3302dbc90..2a902b583c 100644 --- a/src/sentry_wrapper/SentryWrapper.hpp +++ b/src/sentry_wrapper/SentryWrapper.hpp @@ -25,6 +25,8 @@ namespace Slic3r { const std::string& logTagKey = "", const std::string& logTagValue = "", const std::string& logTraceId = ""); + + void set_sentry_tags(const std::string& tag_key,const std::string& tag_value); } // namespace Slic3r #endif // slic3r_SentryWrapper_hpp_ diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 8a42c4747e..4369152b35 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -1008,6 +1008,39 @@ void MainFrame::show_option(bool show) } } } +void MainFrame::get_local_webview_version() +{ + std::string versionFilePath = ""; + +#ifdef _WIN32 + wchar_t appDataPath[MAX_PATH] = {0}; + auto hr = SHGetFolderPathW(NULL, CSIDL_APPDATA, NULL, SHGFP_TYPE_CURRENT, appDataPath); + char* path = new char[MAX_PATH]; + size_t pathLength; + wcstombs_s(&pathLength, path, MAX_PATH, appDataPath, MAX_PATH); + std::string filePath = path; + versionFilePath = filePath + "\\" + std::string("Snapmaker_Orca\\web\\flutter_web\\version.json"); +#elif __APPLE__ + const char* home_env = getenv("HOME"); + versionFilePath = home_env; + versionFilePath = versionFilePath + "/Library/Application Support/Snapmaker_Orca/web/flutter_web/version.json"; +#else + +#endif + + std::ifstream json_file(versionFilePath); + if (!json_file.is_open()) { + return; + } + nlohmann::json json_data; + json_file >> json_data; + std::string str_version = json_data["version"]; + std::string str_build_number = json_data["build_number"]; + + std::string tag = std::string("flutter_version: ") + str_version + std::string(" ") + std::string("build_number: ") + str_build_number; + set_sentry_tags("flutter_version", tag); + +} void MainFrame::init_tabpanel() { // wxNB_NOPAGETHEME: Disable Windows Vista theme for the Notebook background. The theme performance is terrible on @@ -1089,8 +1122,9 @@ void MainFrame::init_tabpanel() { }); m_tabpanel->AddPage(m_webview, "", "tab_home_active", "tab_home_active", false); m_param_panel = new ParamsPanel(m_tabpanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxBK_LEFT | wxTAB_TRAVERSAL); + } - + get_local_webview_version(); m_plater = new Plater(this, this); m_plater->SetBackgroundColour(*wxWHITE); m_plater->Hide(); diff --git a/src/slic3r/GUI/MainFrame.hpp b/src/slic3r/GUI/MainFrame.hpp index 1bf719f73f..a3889ad91a 100644 --- a/src/slic3r/GUI/MainFrame.hpp +++ b/src/slic3r/GUI/MainFrame.hpp @@ -264,6 +264,7 @@ public: void update_title_colour_after_set_title(); void show_option(bool show); void init_tabpanel(); + void get_local_webview_version(); void create_preset_tabs(); //BBS: GUI refactor void add_created_tab(Tab* panel, const std::string& bmp_name = "");