From f77605a73dccb1f5b35b4c13fe821c2b3a971fe3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=98=89=E4=BC=9F?= <8473136@qq.com> Date: Wed, 26 Feb 2025 12:31:57 +0800 Subject: [PATCH] :building_construction: refactor file selection handling to improve response structure and utilize path data in SystemController --- electron/service/ServerService.ts | 43 ++++++++++++++++++++++++------- src/views/home/index.vue | 4 +-- 2 files changed, 35 insertions(+), 12 deletions(-) diff --git a/electron/service/ServerService.ts b/electron/service/ServerService.ts index 417a5dd..d557ff1 100644 --- a/electron/service/ServerService.ts +++ b/electron/service/ServerService.ts @@ -3,14 +3,12 @@ import ServerRepository from "../repository/ServerRepository"; import fs from "fs"; import PathUtils from "../utils/PathUtils"; import ProxyRepository from "../repository/ProxyRepository"; -import SystemService from "./SystemService"; import { BrowserWindow, dialog } from "electron"; import BeanFactory from "../core/BeanFactory"; import path from "path"; import GlobalConstant from "../core/GlobalConstant"; import TOML from "smol-toml"; - class ServerService extends BaseService { private readonly _serverDao: ServerRepository; private readonly _proxyDao: ProxyRepository; @@ -19,7 +17,7 @@ class ServerService extends BaseService { constructor( serverDao: ServerRepository, - proxyDao: ProxyRepository, + proxyDao: ProxyRepository // systemService: SystemService ) { super(); @@ -59,8 +57,36 @@ class ServerService extends BaseService { const enabledProxies = proxies .filter(f => f.status === 1) .map(proxy => { - const { _id, status, ...frpProxyConfig } = proxy; - return frpProxyConfig; + if (proxy.type === "tcp") { + const { + _id, + status, + basicAuth, + bindAddr, + subdomain, + httpUser, + httpPassword, + fallbackTo, + fallbackTimeoutMs, + https2http, + https2httpCaFile, + https2httpKeyFile, + stcpModel, + customDomains, + locations, + hostHeaderRewrite, + keepTunnelOpen, + secretKey, + serverName, + ...frpProxyConfig + } = proxy; + frpProxyConfig.localPort = parseInt(frpProxyConfig.localPort); + frpProxyConfig.remotePort = parseInt(frpProxyConfig.remotePort); + return frpProxyConfig; + } else { + const { _id, status, ...frpProxyConfig } = proxy; + return frpProxyConfig; + } }); const { frpcVersion, _id, system, ...commonConfig } = server; const frpcConfig = { ...commonConfig }; @@ -80,13 +106,10 @@ class ServerService extends BaseService { const win: BrowserWindow = BeanFactory.getBean("win"); const result = await dialog.showOpenDialog(win, { properties: ["openFile"], - filters: [ - { name: "Frpc Toml ConfigFile", extensions: ["toml"] } - ] + filters: [{ name: "Frpc Toml ConfigFile", extensions: ["toml"] }] }); if (result.canceled) { - - }else { + } else { const filePath = result.filePaths[0]; const fileExtension = path.extname(filePath); if (fileExtension === GlobalConstant.TOML_EXT) { diff --git a/src/views/home/index.vue b/src/views/home/index.vue index 19870d7..61e0277 100644 --- a/src/views/home/index.vue +++ b/src/views/home/index.vue @@ -45,8 +45,8 @@ onMounted(() => { (bizCode: string, message: string) => { if (bizCode === "B1001") { ElMessageBox.alert("请先前往设置页面,修改配置后再启动", "提示", { - showCancelButton: true, - cancelButtonText: "取消", + // showCancelButton: true, + // cancelButtonText: "取消", confirmButtonText: "去设置" }).then(() => { router.replace({