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\'\" # QMAKE_LFLAGS += /MANIFESTUAC:\"level=\'requireAdministrator\' uiAccess=\'false\'\"
#程序版本 #程序版本
VERSION = 1.1.0.2 VERSION = 1.1.0.3
#程序版本 #程序版本
QMAKE_TARGET_COMPANY = "HTSDFP" QMAKE_TARGET_COMPANY = "HTSDFP"

@ -41,7 +41,7 @@ bool ReadStream::openFile(const QString &url) {
&m_formatContext, // 返回解封装上下文 &m_formatContext, // 返回解封装上下文
url.toUtf8().data(), // 打开视频地址 url.toUtf8().data(), // 打开视频地址
nullptr, // 如果非null此参数强制使用特定的输入格式。自动选择解封装器文件格式 nullptr, // 如果非null此参数强制使用特定的输入格式。自动选择解封装器文件格式
&dict); // 参数设置 &dict); // 参数设置
// 释放参数字典 // 释放参数字典
if (dict) { if (dict) {
av_dict_free(&dict); av_dict_free(&dict);

@ -1,92 +1,96 @@
#include "cwebengineview.h" #include "cwebengineview.h"
#include "CWebEngineView.h"
#include <QWidget> #include <QWidget>
#include "CWebEngineView.h"
CWebEngineView::CWebEngineView(QWidget *parent) : QWebEngineView(parent) { CWebEngineView::CWebEngineView(QWidget *parent) : QWebEngineView(parent) {
// 记录首页URL // 记录首页URL
connect( connect(
this, &QWebEngineView::loadFinished, this, this, &QWebEngineView::loadFinished, this,
[&](bool ok) { [&](bool ok) {
if (ok) { if (ok) {
firstURL = page()->url(); firstURL = page()->url();
} }
}, },
Qt::SingleShotConnection); Qt::SingleShotConnection);
// 获取当前页面的profile // 获取当前页面的profile
QWebEngineProfile *profile = page()->profile(); QWebEngineProfile *profile = page()->profile();
// 启用缓存 // 启用缓存
profile->setHttpCacheType(QWebEngineProfile::MemoryHttpCache); profile->setHttpCacheType(QWebEngineProfile::MemoryHttpCache);
profile->setPersistentCookiesPolicy( profile->setPersistentCookiesPolicy(
QWebEngineProfile::ForcePersistentCookies); QWebEngineProfile::ForcePersistentCookies);
// 获取设置对象 // 获取设置对象
QWebEngineSettings *settings = page()->settings(); QWebEngineSettings *settings = page()->settings();
// 启用硬件加速 // 启用硬件加速
settings->setAttribute(QWebEngineSettings::Accelerated2dCanvasEnabled, true); settings->setAttribute(QWebEngineSettings::Accelerated2dCanvasEnabled,
settings->setAttribute(QWebEngineSettings::JavascriptCanOpenWindows, true); true);
settings->setAttribute(QWebEngineSettings::JavascriptCanOpenWindows, true);
// 其他设置 // 其他设置
settings->setAttribute(QWebEngineSettings::JavascriptEnabled, true); settings->setAttribute(QWebEngineSettings::JavascriptEnabled, true);
settings->setAttribute(QWebEngineSettings::PluginsEnabled, true); settings->setAttribute(QWebEngineSettings::PluginsEnabled, true);
settings->setAttribute(QWebEngineSettings::LocalContentCanAccessRemoteUrls, settings->setAttribute(QWebEngineSettings::LocalContentCanAccessRemoteUrls,
true); true);
settings->setAttribute(QWebEngineSettings::LocalContentCanAccessFileUrls, settings->setAttribute(QWebEngineSettings::LocalContentCanAccessFileUrls,
true); true);
} }
CWebEngineView::~CWebEngineView() { CWebEngineView::~CWebEngineView() {
QWebEnginePage *page = this->page(); QWebEnginePage *page = this->page();
if (page != nullptr) { if (page != nullptr) {
delete page; delete page;
} }
} }
QWebEngineView * QWebEngineView *CWebEngineView::createWindow(
CWebEngineView::createWindow(QWebEnginePage::WebWindowType type) { QWebEnginePage::WebWindowType type) {
if (type == QWebEnginePage::WebBrowserTab) { if (type == QWebEnginePage::WebBrowserTab) {
QWebEnginePage *new_page = QWebEnginePage *new_page =
new QWebEnginePage(this->page()->profile(), this); new QWebEnginePage(this->page()->profile(), this);
this->setPage(new_page); this->setPage(new_page);
connect(new_page, &QWebEnginePage::destroyed, new_page, connect(new_page, &QWebEnginePage::destroyed, new_page, [new_page]() {
[new_page]() { new_page->deleteLater(); }); new_page->deleteLater();
// connect(page(), &QWebEnginePage::urlChanged, this, [&](const QUrl &url) { });
// qDebug() << "**********GoTo URL:" << url.toString(); // connect(page(), &QWebEnginePage::urlChanged, this, [&](const QUrl
// }); // &url) {
} // qDebug() << "**********GoTo URL:" << url.toString();
return this; // });
}
return this;
} }
void CWebEngineView::contextMenuEvent(QContextMenuEvent *event) { void CWebEngineView::contextMenuEvent(QContextMenuEvent *event) {
// 创建一个新的菜单 // 创建一个新的菜单
QMenu menu(this); QMenu menu(this);
menu.setStyleSheet( menu.setStyleSheet(
"QMenu{background-color: white;color: black;}QMenu::item:selected " "QMenu{background-color: white;color: black;}QMenu::item:selected "
"{background-color: lightgray;color: black;}"); "{background-color: lightgray;color: black;}");
// 添加自定义菜单项 // 添加自定义菜单项
QAction *forwardAction = menu.addAction("前进"); QAction *forwardAction = menu.addAction("前进");
QAction *backAction = menu.addAction("后退"); QAction *backAction = menu.addAction("后退");
QAction *reloadAction = menu.addAction("刷新"); QAction *reloadAction = menu.addAction("刷新");
// 显示菜单 // 显示菜单
QAction *action = menu.exec(event->globalPos()); QAction *action = menu.exec(event->globalPos());
if (action) { if (action) {
QWebEnginePage *page = this->page(); QWebEnginePage *page = this->page();
if (action == forwardAction) { if (action == forwardAction) {
if (page->history()->canGoForward()) { if (page->history()->canGoForward()) {
page->triggerAction(QWebEnginePage::Forward); page->triggerAction(QWebEnginePage::Forward);
} }
} else if (action == backAction) { } else if (action == backAction) {
if (page->history()->canGoBack()) { if (page->history()->canGoBack()) {
page->triggerAction(QWebEnginePage::Back); page->triggerAction(QWebEnginePage::Back);
} else if (page->url() == page->history()->items()[0].url()) { } else if (page->url() == page->history()->items()[0].url()) {
page->load(firstURL); page->load(firstURL);
} }
// qDebug() << "**********History URL:" // qDebug() << "**********History URL:"
// << this->page()->history()->items()[0].url().toString(); // << this->page()->history()->items()[0].url().toString();
} else if (action == reloadAction) { } else if (action == reloadAction) {
page->triggerAction(QWebEnginePage::Reload); page->triggerAction(QWebEnginePage::Reload);
}
} }
}
} }

@ -2,7 +2,7 @@
global::global() {} global::global() {}
QString g_SoftwareVersion = "版本号V1.1.0.2_20241202"; QString g_SoftwareVersion = "版本号V1.1.0.3_20241207";
NotifyManager *g_notifyManager = nullptr; NotifyManager *g_notifyManager = nullptr;

@ -5,7 +5,13 @@
#include <QAction> #include <QAction>
#include <QFile> #include <QFile>
#include <QFlags> #include <QFlags>
#include <QJsonArray>
#include <QJsonDocument>
#include <QJsonObject>
#include <QNetworkCookie>
#include <QToolBar> #include <QToolBar>
#include <QWebEngineCookieStore>
#include <QWebEngineProfile>
#include "Src/HomePage/homepagesetingwidget.h" #include "Src/HomePage/homepagesetingwidget.h"
#include "Src/WebPage/CustomWebEnginePage.h" #include "Src/WebPage/CustomWebEnginePage.h"
@ -105,10 +111,31 @@ void MainWindow::initWindow() {
// mWeb = new CWebEngineView(); // mWeb = new CWebEngineView();
// mWeb->setPage(new CustomWebEnginePage()); // mWeb->setPage(new CustomWebEnginePage());
// mWeb->load(QUrl("http://192.168.150.1")); // mWeb->load(QUrl("http://192.168.150.1"));
lLinkWeb = new CWebEngineView(); lLinkWeb = new CWebEngineView();
lLinkWeb->setPage(new CustomWebEnginePage()); lLinkWeb->setPage(new CustomWebEnginePage());
lLinkWeb->load(QUrl(m_allSetMap["L链"].url)); 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 = new CWebEngineView();
adHocNetworkWeb->setPage(new CustomWebEnginePage()); adHocNetworkWeb->setPage(new CustomWebEnginePage());

Loading…
Cancel
Save