feature when webview init fail and log it.

This commit is contained in:
alves
2026-01-14 09:26:54 +08:00
parent 4ff14ce96e
commit dab81c330b
11 changed files with 110 additions and 121 deletions

View File

@@ -4151,13 +4151,18 @@ wxString GUI_App::get_international_url(const wxString& origin_url) {
string dark_mode = wxGetApp().app_config->get("dark_color_mode"); string dark_mode = wxGetApp().app_config->get("dark_color_mode");
auto isAgree = wxGetApp().app_config->get("app", "privacy_policy_isagree");
std::string useAgree = (isAgree == "true" ? "1" : "0");
if (baseUrl.find("?") != std::string::npos) { if (baseUrl.find("?") != std::string::npos) {
return baseUrl + wxString::FromUTF8("&locale=") + lang + wxString::FromUTF8("-") + region + return baseUrl + wxString::FromUTF8("&locale=") + lang + wxString::FromUTF8("-") + region +
wxString::FromUTF8("&dark_mode=" + dark_mode); wxString::FromUTF8("&dark_mode=" + dark_mode) + wxString::FromUTF8("&privacy_policy_isagree=" + useAgree);
} else { } else {
return baseUrl + wxString::FromUTF8("?locale=") + lang + wxString::FromUTF8("-") + region + return baseUrl + wxString::FromUTF8("?locale=") + lang + wxString::FromUTF8("-") + region +
wxString::FromUTF8("&dark_mode=" + dark_mode); wxString::FromUTF8("&dark_mode=" + dark_mode) + wxString::FromUTF8("&privacy_policy_isagree=" + useAgree);
} }
} }
bool GUI_App::is_user_login() bool GUI_App::is_user_login()

View File

@@ -183,7 +183,7 @@ void PrinterWebView::OnError(wxWebViewEvent &evt)
e = "wxWEBVIEW_NAV_ERR_OTHER"; e = "wxWEBVIEW_NAV_ERR_OTHER";
break; break;
} }
BOOST_LOG_TRIVIAL(info) << __FUNCTION__<< boost::format(": error loading page %1% %2% %3% %4%") %evt.GetURL() %evt.GetTarget() %e %evt.GetString(); BOOST_LOG_TRIVIAL(fatal) << __FUNCTION__<< boost::format(":PrinterWebView error loading page %1% %2% %3% %4%") %evt.GetURL() %evt.GetTarget() %e %evt.GetString();
} }
void PrinterWebView::OnLoaded(wxWebViewEvent &evt) void PrinterWebView::OnLoaded(wxWebViewEvent &evt)

View File

@@ -445,6 +445,18 @@ void UpdateVersionDialog::OnTitleChanged(wxWebViewEvent& event)
} }
void UpdateVersionDialog::OnError(wxWebViewEvent& event) void UpdateVersionDialog::OnError(wxWebViewEvent& event)
{ {
auto e = "unknown error";
switch (event.GetInt()) {
case wxWEBVIEW_NAV_ERR_CONNECTION: e = "wxWEBVIEW_NAV_ERR_CONNECTION"; break;
case wxWEBVIEW_NAV_ERR_CERTIFICATE: e = "wxWEBVIEW_NAV_ERR_CERTIFICATE"; break;
case wxWEBVIEW_NAV_ERR_AUTH: e = "wxWEBVIEW_NAV_ERR_AUTH"; break;
case wxWEBVIEW_NAV_ERR_SECURITY: e = "wxWEBVIEW_NAV_ERR_SECURITY"; break;
case wxWEBVIEW_NAV_ERR_NOT_FOUND: e = "wxWEBVIEW_NAV_ERR_NOT_FOUND"; break;
case wxWEBVIEW_NAV_ERR_REQUEST: e = "wxWEBVIEW_NAV_ERR_REQUEST"; break;
case wxWEBVIEW_NAV_ERR_USER_CANCELLED: e = "wxWEBVIEW_NAV_ERR_USER_CANCELLED"; break;
case wxWEBVIEW_NAV_ERR_OTHER: e = "wxWEBVIEW_NAV_ERR_OTHER"; break;
}
BOOST_LOG_TRIVIAL(fatal) << __FUNCTION__<< boost::format(":UpdateVersionDialog error loading page %1% %2% %3% %4%") % event.GetURL() % event.GetTarget() %e %event.GetString();
event.Skip(); event.Skip();
} }

View File

@@ -105,7 +105,19 @@ void WebDeviceDialog::OnDocumentLoaded(wxWebViewEvent &evt)
void WebDeviceDialog::OnError(wxWebViewEvent &evt) void WebDeviceDialog::OnError(wxWebViewEvent &evt)
{ {
wxLogError("Web View Error: %s", evt.GetString()); auto e = "unknown error";
switch (evt.GetInt()) {
case wxWEBVIEW_NAV_ERR_CONNECTION: e = "wxWEBVIEW_NAV_ERR_CONNECTION"; break;
case wxWEBVIEW_NAV_ERR_CERTIFICATE: e = "wxWEBVIEW_NAV_ERR_CERTIFICATE"; break;
case wxWEBVIEW_NAV_ERR_AUTH: e = "wxWEBVIEW_NAV_ERR_AUTH"; break;
case wxWEBVIEW_NAV_ERR_SECURITY: e = "wxWEBVIEW_NAV_ERR_SECURITY"; break;
case wxWEBVIEW_NAV_ERR_NOT_FOUND: e = "wxWEBVIEW_NAV_ERR_NOT_FOUND"; break;
case wxWEBVIEW_NAV_ERR_REQUEST: e = "wxWEBVIEW_NAV_ERR_REQUEST"; break;
case wxWEBVIEW_NAV_ERR_USER_CANCELLED: e = "wxWEBVIEW_NAV_ERR_USER_CANCELLED"; break;
case wxWEBVIEW_NAV_ERR_OTHER: e = "wxWEBVIEW_NAV_ERR_OTHER"; break;
}
BOOST_LOG_TRIVIAL(fatal) << __FUNCTION__<< boost::format(":WebDeviceDialog error loading page %1% %2% %3% %4%") % evt.GetURL() % evt.GetTarget() % e %evt.GetString();
} }
void WebDeviceDialog::OnScriptMessage(wxWebViewEvent &evt) void WebDeviceDialog::OnScriptMessage(wxWebViewEvent &evt)

View File

@@ -29,7 +29,7 @@
#include "GUI_App.hpp" #include "GUI_App.hpp"
namespace Slic3r { namespace GUI { namespace Slic3r { namespace GUI {
//not use on snapmaker orca
class DownPluginFrame : public wxDialog class DownPluginFrame : public wxDialog
{ {
public: public:

View File

@@ -596,32 +596,21 @@ void GuideFrame::OnRunScriptArrayWithEmulationLevel(wxCommandEvent &WXUNUSED(evt
/** /**
* Callback invoked when a loading error occurs * Callback invoked when a loading error occurs
*/ */
void GuideFrame::OnError(wxWebViewEvent &evt) void GuideFrame::OnError(wxWebViewEvent& event)
{ {
#define WX_ERROR_CASE(type) \ auto e = "unknown error";
case type: category = #type; break; switch (event.GetInt()) {
case wxWEBVIEW_NAV_ERR_CONNECTION: e = "wxWEBVIEW_NAV_ERR_CONNECTION"; break;
wxString category; case wxWEBVIEW_NAV_ERR_CERTIFICATE: e = "wxWEBVIEW_NAV_ERR_CERTIFICATE"; break;
switch (evt.GetInt()) { case wxWEBVIEW_NAV_ERR_AUTH: e = "wxWEBVIEW_NAV_ERR_AUTH"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_CONNECTION); case wxWEBVIEW_NAV_ERR_SECURITY: e = "wxWEBVIEW_NAV_ERR_SECURITY"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_CERTIFICATE); case wxWEBVIEW_NAV_ERR_NOT_FOUND: e = "wxWEBVIEW_NAV_ERR_NOT_FOUND"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_AUTH); case wxWEBVIEW_NAV_ERR_REQUEST: e = "wxWEBVIEW_NAV_ERR_REQUEST"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_SECURITY); case wxWEBVIEW_NAV_ERR_USER_CANCELLED: e = "wxWEBVIEW_NAV_ERR_USER_CANCELLED"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_NOT_FOUND); case wxWEBVIEW_NAV_ERR_OTHER: e = "wxWEBVIEW_NAV_ERR_OTHER"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_REQUEST);
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_USER_CANCELLED);
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_OTHER);
} }
// wxLogMessage("%s", "Error; url='" + evt.GetURL() + "', error='" + BOOST_LOG_TRIVIAL(fatal) << __FUNCTION__<< boost::format(":GuideFrame error loading page %1% %2% %3% %4%") % event.GetURL() % event.GetTarget() %e % event.GetString();
// category + " (" + evt.GetString() + ")'");
// Show the info bar with an error
// m_info->ShowMessage(_L("An error occurred loading ") + evt.GetURL() +
// "\n" + "'" + category + "'", wxICON_ERROR);
BOOST_LOG_TRIVIAL(trace) << "GuideFrame::OnError: An error occurred loading " << evt.GetURL() << category;
UpdateState();
} }
void GuideFrame::OnScriptResponseMessage(wxCommandEvent &WXUNUSED(evt)) void GuideFrame::OnScriptResponseMessage(wxCommandEvent &WXUNUSED(evt))

View File

@@ -151,9 +151,21 @@ void WebPreprintDialog::OnDocumentLoaded(wxWebViewEvent &evt)
evt.Skip(); evt.Skip();
} }
void WebPreprintDialog::OnError(wxWebViewEvent &evt) void WebPreprintDialog::OnError(wxWebViewEvent &event)
{ {
wxLogError("Web View Error: %s", evt.GetString()); auto e = "unknown error";
switch (event.GetInt()) {
case wxWEBVIEW_NAV_ERR_CONNECTION: e = "wxWEBVIEW_NAV_ERR_CONNECTION"; break;
case wxWEBVIEW_NAV_ERR_CERTIFICATE: e = "wxWEBVIEW_NAV_ERR_CERTIFICATE"; break;
case wxWEBVIEW_NAV_ERR_AUTH: e = "wxWEBVIEW_NAV_ERR_AUTH"; break;
case wxWEBVIEW_NAV_ERR_SECURITY: e = "wxWEBVIEW_NAV_ERR_SECURITY"; break;
case wxWEBVIEW_NAV_ERR_NOT_FOUND: e = "wxWEBVIEW_NAV_ERR_NOT_FOUND"; break;
case wxWEBVIEW_NAV_ERR_REQUEST: e = "wxWEBVIEW_NAV_ERR_REQUEST"; break;
case wxWEBVIEW_NAV_ERR_USER_CANCELLED: e = "wxWEBVIEW_NAV_ERR_USER_CANCELLED"; break;
case wxWEBVIEW_NAV_ERR_OTHER: e = "wxWEBVIEW_NAV_ERR_OTHER"; break;
}
BOOST_LOG_TRIVIAL(fatal) << __FUNCTION__<< boost::format(":WebPreprintDialog error loading page %1% %2% %3% %4%") % event.GetURL() % event.GetTarget() %e % event.GetString();
} }
void WebPreprintDialog::OnScriptMessage(wxWebViewEvent &evt) void WebPreprintDialog::OnScriptMessage(wxWebViewEvent &evt)

View File

@@ -692,32 +692,21 @@ void WebPresetDialog::OnRunScriptArrayWithEmulationLevel(wxCommandEvent& WXUNUSE
/** /**
* Callback invoked when a loading error occurs * Callback invoked when a loading error occurs
*/ */
void WebPresetDialog::OnError(wxWebViewEvent& evt) void WebPresetDialog::OnError(wxWebViewEvent& event)
{ {
#define WX_ERROR_CASE(type) \ auto e = "unknown error";
case type: category = #type; break; switch (event.GetInt()) {
case wxWEBVIEW_NAV_ERR_CONNECTION: e = "wxWEBVIEW_NAV_ERR_CONNECTION"; break;
wxString category; case wxWEBVIEW_NAV_ERR_CERTIFICATE: e = "wxWEBVIEW_NAV_ERR_CERTIFICATE"; break;
switch (evt.GetInt()) { case wxWEBVIEW_NAV_ERR_AUTH: e = "wxWEBVIEW_NAV_ERR_AUTH"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_CONNECTION); case wxWEBVIEW_NAV_ERR_SECURITY: e = "wxWEBVIEW_NAV_ERR_SECURITY"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_CERTIFICATE); case wxWEBVIEW_NAV_ERR_NOT_FOUND: e = "wxWEBVIEW_NAV_ERR_NOT_FOUND"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_AUTH); case wxWEBVIEW_NAV_ERR_REQUEST: e = "wxWEBVIEW_NAV_ERR_REQUEST"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_SECURITY); case wxWEBVIEW_NAV_ERR_USER_CANCELLED: e = "wxWEBVIEW_NAV_ERR_USER_CANCELLED"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_NOT_FOUND); case wxWEBVIEW_NAV_ERR_OTHER: e = "wxWEBVIEW_NAV_ERR_OTHER"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_REQUEST);
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_USER_CANCELLED);
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_OTHER);
} }
// wxLogMessage("%s", "Error; url='" + evt.GetURL() + "', error='" + BOOST_LOG_TRIVIAL(fatal) << __FUNCTION__<< boost::format(":WebPresetDialog error loading page %1% %2% %3% %4%") % event.GetURL() % event.GetTarget() %e % event.GetString();
// category + " (" + evt.GetString() + ")'");
// Show the info bar with an error
// m_info->ShowMessage(_L("An error occurred loading ") + evt.GetURL() +
// "\n" + "'" + category + "'", wxICON_ERROR);
BOOST_LOG_TRIVIAL(trace) << "WebPresetDialog::OnError: An error occurred loading " << evt.GetURL() << category;
UpdateState();
} }
void WebPresetDialog::OnScriptResponseMessage(wxCommandEvent& WXUNUSED(evt)) void WebPresetDialog::OnScriptResponseMessage(wxCommandEvent& WXUNUSED(evt))

View File

@@ -387,42 +387,20 @@ void SMUserLogin::OnRunScriptArrayWithEmulationLevel(wxCommandEvent &WXUNUSED(ev
/** /**
* Callback invoked when a loading error occurs * Callback invoked when a loading error occurs
*/ */
void SMUserLogin::OnError(wxWebViewEvent &evt) void SMUserLogin::OnError(wxWebViewEvent &event)
{ {
#define WX_ERROR_CASE(type) \ auto e = "unknown error";
case type: category = #type; break; switch (event.GetInt()) {
case wxWEBVIEW_NAV_ERR_CONNECTION: e = "wxWEBVIEW_NAV_ERR_CONNECTION"; break;
wxString category; case wxWEBVIEW_NAV_ERR_CERTIFICATE: e = "wxWEBVIEW_NAV_ERR_CERTIFICATE"; break;
switch (evt.GetInt()) { case wxWEBVIEW_NAV_ERR_AUTH: e = "wxWEBVIEW_NAV_ERR_AUTH"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_CONNECTION); case wxWEBVIEW_NAV_ERR_SECURITY: e = "wxWEBVIEW_NAV_ERR_SECURITY"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_CERTIFICATE); case wxWEBVIEW_NAV_ERR_NOT_FOUND: e = "wxWEBVIEW_NAV_ERR_NOT_FOUND"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_AUTH); case wxWEBVIEW_NAV_ERR_REQUEST: e = "wxWEBVIEW_NAV_ERR_REQUEST"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_SECURITY); case wxWEBVIEW_NAV_ERR_USER_CANCELLED: e = "wxWEBVIEW_NAV_ERR_USER_CANCELLED"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_NOT_FOUND); case wxWEBVIEW_NAV_ERR_OTHER: e = "wxWEBVIEW_NAV_ERR_OTHER"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_REQUEST);
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_USER_CANCELLED);
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_OTHER);
} }
BOOST_LOG_TRIVIAL(fatal) << __FUNCTION__<< boost::format(":SMUserLogin error loading page %1% %2% %3% %4%") % event.GetURL() % event.GetTarget() %e % event.GetString();
if( evt.GetInt()==wxWEBVIEW_NAV_ERR_CONNECTION )
{
if(m_timer!=NULL)
m_timer->Stop();
m_networkOk = false;
if (m_networkOk==false)
ShowErrorPage();
}
// wxLogMessage("%s", "Error; url='" + evt.GetURL() + "', error='" +
// category + " (" + evt.GetString() + ")'");
// Show the info bar with an error
// m_info->ShowMessage(_L("An error occurred loading ") + evt.GetURL() +
// "\n" + "'" + category + "'", wxICON_ERROR);
UpdateState();
} }
void SMUserLogin::OnScriptResponseMessage(wxCommandEvent &WXUNUSED(evt)) void SMUserLogin::OnScriptResponseMessage(wxCommandEvent &WXUNUSED(evt))

View File

@@ -114,9 +114,21 @@ void WebUrlDialog::OnDocumentLoaded(wxWebViewEvent &evt)
evt.Skip(); evt.Skip();
} }
void WebUrlDialog::OnError(wxWebViewEvent &evt) void WebUrlDialog::OnError(wxWebViewEvent &event)
{ {
wxLogError("Web View Error: %s", evt.GetString()); auto e = "unknown error";
switch (event.GetInt()) {
case wxWEBVIEW_NAV_ERR_CONNECTION: e = "wxWEBVIEW_NAV_ERR_CONNECTION"; break;
case wxWEBVIEW_NAV_ERR_CERTIFICATE: e = "wxWEBVIEW_NAV_ERR_CERTIFICATE"; break;
case wxWEBVIEW_NAV_ERR_AUTH: e = "wxWEBVIEW_NAV_ERR_AUTH"; break;
case wxWEBVIEW_NAV_ERR_SECURITY: e = "wxWEBVIEW_NAV_ERR_SECURITY"; break;
case wxWEBVIEW_NAV_ERR_NOT_FOUND: e = "wxWEBVIEW_NAV_ERR_NOT_FOUND"; break;
case wxWEBVIEW_NAV_ERR_REQUEST: e = "wxWEBVIEW_NAV_ERR_REQUEST"; break;
case wxWEBVIEW_NAV_ERR_USER_CANCELLED: e = "wxWEBVIEW_NAV_ERR_USER_CANCELLED"; break;
case wxWEBVIEW_NAV_ERR_OTHER: e = "wxWEBVIEW_NAV_ERR_OTHER"; break;
}
BOOST_LOG_TRIVIAL(fatal) << __FUNCTION__<< boost::format(":WebUrlDialog error loading page %1% %2% %3% %4%") % event.GetURL() % event.GetTarget() %e % event.GetString();
} }
void WebUrlDialog::OnScriptMessage(wxWebViewEvent &evt) void WebUrlDialog::OnScriptMessage(wxWebViewEvent &evt)

View File

@@ -361,40 +361,20 @@ void ZUserLogin::OnRunScriptArrayWithEmulationLevel(wxCommandEvent &WXUNUSED(evt
/** /**
* Callback invoked when a loading error occurs * Callback invoked when a loading error occurs
*/ */
void ZUserLogin::OnError(wxWebViewEvent &evt) void ZUserLogin::OnError(wxWebViewEvent &event)
{ {
#define WX_ERROR_CASE(type) \ auto e = "unknown error";
case type: category = #type; break; switch (event.GetInt()) {
case wxWEBVIEW_NAV_ERR_CONNECTION: e = "wxWEBVIEW_NAV_ERR_CONNECTION"; break;
wxString category; case wxWEBVIEW_NAV_ERR_CERTIFICATE: e = "wxWEBVIEW_NAV_ERR_CERTIFICATE"; break;
switch (evt.GetInt()) { case wxWEBVIEW_NAV_ERR_AUTH: e = "wxWEBVIEW_NAV_ERR_AUTH"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_CONNECTION); case wxWEBVIEW_NAV_ERR_SECURITY: e = "wxWEBVIEW_NAV_ERR_SECURITY"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_CERTIFICATE); case wxWEBVIEW_NAV_ERR_NOT_FOUND: e = "wxWEBVIEW_NAV_ERR_NOT_FOUND"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_AUTH); case wxWEBVIEW_NAV_ERR_REQUEST: e = "wxWEBVIEW_NAV_ERR_REQUEST"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_SECURITY); case wxWEBVIEW_NAV_ERR_USER_CANCELLED: e = "wxWEBVIEW_NAV_ERR_USER_CANCELLED"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_NOT_FOUND); case wxWEBVIEW_NAV_ERR_OTHER: e = "wxWEBVIEW_NAV_ERR_OTHER"; break;
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_REQUEST);
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_USER_CANCELLED);
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_OTHER);
} }
BOOST_LOG_TRIVIAL(fatal) << __FUNCTION__<< boost::format(":ZUserLogin error loading page %1% %2% %3% %4%") % event.GetURL() % event.GetTarget() %e % event.GetString();
if( evt.GetInt()==wxWEBVIEW_NAV_ERR_CONNECTION )
{
if(m_timer!=NULL)
m_timer->Stop();
if (m_networkOk==false)
ShowErrorPage();
}
// wxLogMessage("%s", "Error; url='" + evt.GetURL() + "', error='" +
// category + " (" + evt.GetString() + ")'");
// Show the info bar with an error
// m_info->ShowMessage(_L("An error occurred loading ") + evt.GetURL() +
// "\n" + "'" + category + "'", wxICON_ERROR);
UpdateState();
} }
void ZUserLogin::OnScriptResponseMessage(wxCommandEvent &WXUNUSED(evt)) void ZUserLogin::OnScriptResponseMessage(wxCommandEvent &WXUNUSED(evt))