diff --git a/PayloadAPP.pro b/PayloadAPP.pro index fb5f483..af57757 100644 --- a/PayloadAPP.pro +++ b/PayloadAPP.pro @@ -14,7 +14,7 @@ QMAKE_PROJECT_DEPTH = 0 # QMAKE_LFLAGS += /MANIFESTUAC:\"level=\'requireAdministrator\' uiAccess=\'false\'\" #程序版本 -VERSION = 1.1.0.2 +VERSION = 1.1.0.3 #程序版本 QMAKE_TARGET_COMPANY = "HTSDFP" diff --git a/Src/VideoGL/readstream.cpp b/Src/VideoGL/readstream.cpp index 8885900..883b186 100644 --- a/Src/VideoGL/readstream.cpp +++ b/Src/VideoGL/readstream.cpp @@ -41,7 +41,7 @@ bool ReadStream::openFile(const QString &url) { &m_formatContext, // 返回解封装上下文 url.toUtf8().data(), // 打开视频地址 nullptr, // 如果非null,此参数强制使用特定的输入格式。自动选择解封装器(文件格式) - &dict); // 参数设置 + &dict); // 参数设置 // 释放参数字典 if (dict) { av_dict_free(&dict); diff --git a/Src/WebPage/cwebengineview.cpp b/Src/WebPage/cwebengineview.cpp index 8b241c1..9893d07 100644 --- a/Src/WebPage/cwebengineview.cpp +++ b/Src/WebPage/cwebengineview.cpp @@ -1,92 +1,96 @@ #include "cwebengineview.h" -#include "CWebEngineView.h" #include +#include "CWebEngineView.h" + CWebEngineView::CWebEngineView(QWidget *parent) : QWebEngineView(parent) { - // 记录首页URL - connect( - this, &QWebEngineView::loadFinished, this, - [&](bool ok) { - if (ok) { - firstURL = page()->url(); - } - }, - Qt::SingleShotConnection); - // 获取当前页面的profile - QWebEngineProfile *profile = page()->profile(); + // 记录首页URL + connect( + this, &QWebEngineView::loadFinished, this, + [&](bool ok) { + if (ok) { + firstURL = page()->url(); + } + }, + Qt::SingleShotConnection); + // 获取当前页面的profile + QWebEngineProfile *profile = page()->profile(); - // 启用缓存 - profile->setHttpCacheType(QWebEngineProfile::MemoryHttpCache); - profile->setPersistentCookiesPolicy( - QWebEngineProfile::ForcePersistentCookies); + // 启用缓存 + profile->setHttpCacheType(QWebEngineProfile::MemoryHttpCache); + profile->setPersistentCookiesPolicy( + QWebEngineProfile::ForcePersistentCookies); - // 获取设置对象 - QWebEngineSettings *settings = page()->settings(); + // 获取设置对象 + QWebEngineSettings *settings = page()->settings(); - // 启用硬件加速 - settings->setAttribute(QWebEngineSettings::Accelerated2dCanvasEnabled, true); - settings->setAttribute(QWebEngineSettings::JavascriptCanOpenWindows, true); + // 启用硬件加速 + settings->setAttribute(QWebEngineSettings::Accelerated2dCanvasEnabled, + true); + settings->setAttribute(QWebEngineSettings::JavascriptCanOpenWindows, true); - // 其他设置 - settings->setAttribute(QWebEngineSettings::JavascriptEnabled, true); - settings->setAttribute(QWebEngineSettings::PluginsEnabled, true); - settings->setAttribute(QWebEngineSettings::LocalContentCanAccessRemoteUrls, - true); - settings->setAttribute(QWebEngineSettings::LocalContentCanAccessFileUrls, - true); + // 其他设置 + settings->setAttribute(QWebEngineSettings::JavascriptEnabled, true); + settings->setAttribute(QWebEngineSettings::PluginsEnabled, true); + settings->setAttribute(QWebEngineSettings::LocalContentCanAccessRemoteUrls, + true); + settings->setAttribute(QWebEngineSettings::LocalContentCanAccessFileUrls, + true); } CWebEngineView::~CWebEngineView() { - QWebEnginePage *page = this->page(); - if (page != nullptr) { - delete page; - } + QWebEnginePage *page = this->page(); + if (page != nullptr) { + delete page; + } } -QWebEngineView * -CWebEngineView::createWindow(QWebEnginePage::WebWindowType type) { - if (type == QWebEnginePage::WebBrowserTab) { - QWebEnginePage *new_page = - new QWebEnginePage(this->page()->profile(), this); - this->setPage(new_page); - connect(new_page, &QWebEnginePage::destroyed, new_page, - [new_page]() { new_page->deleteLater(); }); - // connect(page(), &QWebEnginePage::urlChanged, this, [&](const QUrl &url) { - // qDebug() << "**********GoTo URL:" << url.toString(); - // }); - } - return this; +QWebEngineView *CWebEngineView::createWindow( + QWebEnginePage::WebWindowType type) { + if (type == QWebEnginePage::WebBrowserTab) { + QWebEnginePage *new_page = + new QWebEnginePage(this->page()->profile(), this); + this->setPage(new_page); + connect(new_page, &QWebEnginePage::destroyed, new_page, [new_page]() { + new_page->deleteLater(); + }); + // connect(page(), &QWebEnginePage::urlChanged, this, [&](const QUrl + // &url) { + // qDebug() << "**********GoTo URL:" << url.toString(); + // }); + } + return this; } void CWebEngineView::contextMenuEvent(QContextMenuEvent *event) { - // 创建一个新的菜单 - QMenu menu(this); - menu.setStyleSheet( - "QMenu{background-color: white;color: black;}QMenu::item:selected " - "{background-color: lightgray;color: black;}"); - // 添加自定义菜单项 - QAction *forwardAction = menu.addAction("前进"); - QAction *backAction = menu.addAction("后退"); - QAction *reloadAction = menu.addAction("刷新"); - // 显示菜单 - QAction *action = menu.exec(event->globalPos()); - if (action) { - QWebEnginePage *page = this->page(); - if (action == forwardAction) { - if (page->history()->canGoForward()) { - page->triggerAction(QWebEnginePage::Forward); - } - } else if (action == backAction) { - if (page->history()->canGoBack()) { - page->triggerAction(QWebEnginePage::Back); - } else if (page->url() == page->history()->items()[0].url()) { - page->load(firstURL); - } - // qDebug() << "**********History URL:" - // << this->page()->history()->items()[0].url().toString(); - } else if (action == reloadAction) { - page->triggerAction(QWebEnginePage::Reload); + // 创建一个新的菜单 + QMenu menu(this); + menu.setStyleSheet( + "QMenu{background-color: white;color: black;}QMenu::item:selected " + "{background-color: lightgray;color: black;}"); + // 添加自定义菜单项 + QAction *forwardAction = menu.addAction("前进"); + QAction *backAction = menu.addAction("后退"); + QAction *reloadAction = menu.addAction("刷新"); + // 显示菜单 + QAction *action = menu.exec(event->globalPos()); + if (action) { + QWebEnginePage *page = this->page(); + if (action == forwardAction) { + if (page->history()->canGoForward()) { + page->triggerAction(QWebEnginePage::Forward); + } + } else if (action == backAction) { + if (page->history()->canGoBack()) { + page->triggerAction(QWebEnginePage::Back); + } else if (page->url() == page->history()->items()[0].url()) { + page->load(firstURL); + } + // qDebug() << "**********History URL:" + // << this->page()->history()->items()[0].url().toString(); + } else if (action == reloadAction) { + page->triggerAction(QWebEnginePage::Reload); + } } - } } diff --git a/global.cpp b/global.cpp index 9ba60df..416c160 100644 --- a/global.cpp +++ b/global.cpp @@ -2,7 +2,7 @@ global::global() {} -QString g_SoftwareVersion = "版本号:V1.1.0.2_20241202"; +QString g_SoftwareVersion = "版本号:V1.1.0.3_20241207"; NotifyManager *g_notifyManager = nullptr; diff --git a/mainwindow.cpp b/mainwindow.cpp index 4cc58ab..f610dab 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -5,7 +5,13 @@ #include #include #include +#include +#include +#include +#include #include +#include +#include #include "Src/HomePage/homepagesetingwidget.h" #include "Src/WebPage/CustomWebEnginePage.h" @@ -105,10 +111,31 @@ void MainWindow::initWindow() { // mWeb = new CWebEngineView(); // mWeb->setPage(new CustomWebEnginePage()); // mWeb->load(QUrl("http://192.168.150.1")); - lLinkWeb = new CWebEngineView(); lLinkWeb->setPage(new CustomWebEnginePage()); lLinkWeb->load(QUrl(m_allSetMap["L链"].url)); + connect(lLinkWeb->page(), &QWebEnginePage::loadFinished, this, [=]() { + // QString jsScript = R"( + // var usernameField = + // document.querySelector('input[name="username"]'); if + // (usernameField) { + // usernameField.value = 'admin'; // 填充用户名 + // } + // )"; + QString jsScript = R"( + var button = document.getElementById('clickButt'); + if (button) { + button.onclick = function(event){ + var usernameField = + document.querySelector('input[name="username"]'); + if(usernameField) { + usernameField.value = 'admin'; // 填充用户名 + } + } + } + )"; + lLinkWeb->page()->runJavaScript(jsScript); + }); adHocNetworkWeb = new CWebEngineView(); adHocNetworkWeb->setPage(new CustomWebEnginePage());