From 701845afc2b9351785689cdb4539510c167e2dae Mon Sep 17 00:00:00 2001 From: RoyirinRosmontis Date: Sun, 23 Aug 2026 13:59:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=20-=20=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E5=BC=B9=E7=AA=97=E6=94=B9=E4=B8=BA"=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E6=9B=B4=E6=94=B9"=E7=BB=9F=E4=B8=80=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=EF=BC=88=E5=90=8E=E7=BB=AD=E8=AE=BE=E7=BD=AE=E9=A1=B9?= =?UTF-8?q?=E5=9C=A8=E6=AD=A4=E6=89=A9=E5=B1=95=EF=BC=89=EF=BC=8C=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E6=9B=B4=E6=94=B9=E4=B8=8E=E9=80=80=E5=87=BA=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E5=B9=B6=E6=8E=92=E5=BA=95=E9=83=A8=20-=20=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E6=A3=80=E6=9F=A5=E4=B8=8E=E6=9B=B4=E6=96=B0=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E4=B8=8D=E5=86=8D=E6=90=BA=E5=B8=A6=E8=8A=82=E7=82=B9?= =?UTF-8?q?=20Basic=20=E8=AE=A4=E8=AF=81=E5=A4=B4=EF=BC=88update=5Furl=20?= =?UTF-8?q?=E5=B7=B2=E8=BF=81=E7=A7=BB=E5=88=B0=E5=85=AC=E5=BC=80=20CDN?= =?UTF-8?q?=EF=BC=8C=E5=87=AD=E6=8D=AE=E4=B8=8D=E5=86=8D=E6=9A=B4=E9=9C=B2?= =?UTF-8?q?=E7=BB=99=20CDN=20=E6=97=A5=E5=BF=97=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lite/proxy_lite.py | 54 ++++++++++++++++++++++++---------------------- 1 file changed, 28 insertions(+), 26 deletions(-) diff --git a/lite/proxy_lite.py b/lite/proxy_lite.py index 1d5f1cb..13d5300 100644 --- a/lite/proxy_lite.py +++ b/lite/proxy_lite.py @@ -1407,13 +1407,19 @@ class SettingsDialog(QDialog): port_row.addWidget(self.ed_port) layout.addLayout(port_row) - self.lb_port = QLabel("代理运行中,关闭代理后可修改" if port_locked else "保存后下次开启代理生效") - self.lb_port.setStyleSheet(f"color: {C_SUBTEXT}; font-size: 11px;") - self.lb_port.setFixedHeight(14) - layout.addWidget(self.lb_port) + self.lb_hint = QLabel("代理运行中,关闭代理后可修改" if port_locked else "保存更改后下次开启代理生效") + self.lb_hint.setStyleSheet(f"color: {C_SUBTEXT}; font-size: 11px;") + self.lb_hint.setFixedHeight(14) + layout.addWidget(self.lb_hint) - btn_save = QPushButton("保存端口") - btn_save.setStyleSheet(f""" + layout.addStretch() + + # 底部:保存更改 + 退出登录 并排 + btns = QHBoxLayout() + btns.setSpacing(10) + btns.addStretch() + self.btn_save = QPushButton("保存更改") + self.btn_save.setStyleSheet(f""" QPushButton {{ background-color: {C_GREEN}; color: #fff; border: none; border-radius: 6px; padding: 5px 14px; @@ -1421,12 +1427,11 @@ class SettingsDialog(QDialog): }} QPushButton:disabled {{ background-color: #2a3a2e; color: #666; }} """) - btn_save.setEnabled(not port_locked) - btn_save.clicked.connect(self._save_port) - layout.addWidget(btn_save) - - btn_logout = QPushButton("退出登录") - btn_logout.setStyleSheet(f""" + self.btn_save.setEnabled(not port_locked) + self.btn_save.clicked.connect(self._save_settings) + btns.addWidget(self.btn_save) + self.btn_logout = QPushButton("退出登录") + self.btn_logout.setStyleSheet(f""" QPushButton {{ background-color: {C_CARD}; color: {C_RED}; border: 1px solid {C_RED}; border-radius: 6px; @@ -1434,22 +1439,23 @@ class SettingsDialog(QDialog): }} QPushButton:hover {{ background-color: #ffecec; }} """) - btn_logout.setToolTip("清除登录凭据与本地节点配置,下次启动需重新登录") - btn_logout.clicked.connect(self._logout) - layout.addWidget(btn_logout) + self.btn_logout.setToolTip("清除登录凭据与本地节点配置,下次启动需重新登录") + self.btn_logout.clicked.connect(self._logout) + btns.addWidget(self.btn_logout) + btns.addStretch() + layout.addLayout(btns) - layout.addStretch() - - def _save_port(self): + def _save_settings(self): + """保存更改:统一校验并应用全部设置项(后续新增设置项在此扩展)。""" port = _parse_port(self.ed_port.text()) if port is None: - self.lb_port.setText("端口应为 1-65535 的数字") - self.lb_port.setStyleSheet(f"color: {C_RED}; font-size: 11px;") + self.lb_hint.setText("端口应为 1-65535 的数字") + self.lb_hint.setStyleSheet(f"color: {C_RED}; font-size: 11px;") return _set_local_port(port) self.ed_port.setText(str(port)) - self.lb_port.setText(f"已保存: {port},下次开启代理生效") - self.lb_port.setStyleSheet(f"color: {C_GREEN}; font-size: 11px;") + self.lb_hint.setText(f"已保存: {port},下次开启代理生效") + self.lb_hint.setStyleSheet(f"color: {C_GREEN}; font-size: 11px;") def _logout(self): """退出登录:删除加密凭据与本地节点配置,清空内存缓存。""" @@ -2015,8 +2021,6 @@ class MainWindow(QWidget): {"http": f"{PROXY_HOST}:{PROXY_PORT}", "https": f"{PROXY_HOST}:{PROXY_PORT}"})) req = urllib.request.Request(url) - auth = _proxy_auth_basic() - req.add_header("Authorization", f"Basic {auth}") data = opener.open(req, timeout=10).read().decode("utf-8-sig") finally: _release_forwarder(started_here) @@ -2069,8 +2073,6 @@ class MainWindow(QWidget): {"http": f"{PROXY_HOST}:{PROXY_PORT}", "https": f"{PROXY_HOST}:{PROXY_PORT}"})) req = urllib.request.Request(url) - auth = _proxy_auth_basic() - req.add_header("Authorization", f"Basic {auth}") with opener.open(req, timeout=120) as resp: data = resp.read()