feat: L链网页新增用户名自动填充

dev
cbwu 3 months ago
parent afc4476eaa
commit 94e065fd8e

@ -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"

@ -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);

@ -1,92 +1,96 @@
#include "cwebengineview.h"
#include "CWebEngineView.h"
#include <QWidget>
#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);
}
}
}
}

@ -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;

@ -5,7 +5,13 @@
#include <QAction>
#include <QFile>
#include <QFlags>
#include <QJsonArray>
#include <QJsonDocument>
#include <QJsonObject>
#include <QNetworkCookie>
#include <QToolBar>
#include <QWebEngineCookieStore>
#include <QWebEngineProfile>
#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());

Loading…
Cancel
Save