From a3f00437e91293aadb436d479112d62cf90aea4c 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, 17 Jul 2024 11:18:12 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E5=A2=9E=E5=8A=A0=E5=BC=80?= =?UTF-8?q?=E6=9C=BA=E8=87=AA=E5=90=AF=E9=85=8D=E7=BD=AE=E9=A1=B9=E3=80=81?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=90=AF=E5=8A=A8=E8=87=AA=E5=8A=A8=E8=BF=9E?= =?UTF-8?q?=E6=8E=A5=E9=85=8D=E7=BD=AE=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- electron/api/config.ts | 72 +++++++++++++++++++++----------------- electron/storage/config.ts | 2 ++ src/views/config/index.vue | 27 ++++++++++++-- 3 files changed, 67 insertions(+), 34 deletions(-) diff --git a/electron/api/config.ts b/electron/api/config.ts index 44cb054..a6ca050 100644 --- a/electron/api/config.ts +++ b/electron/api/config.ts @@ -1,42 +1,50 @@ -import { ipcMain } from "electron"; -import { getConfig, saveConfig } from "../storage/config"; -import { listVersion } from "../storage/version"; +import {app, ipcMain} from "electron"; +import {getConfig, saveConfig} from "../storage/config"; +import {listVersion} from "../storage/version"; export const initConfigApi = () => { - ipcMain.on("config.saveConfig", async (event, args) => { - saveConfig(args, (err, numberOfUpdated, upsert) => { - event.reply("Config.saveConfig.hook", { - err: err, - numberOfUpdated: numberOfUpdated, - upsert: upsert - }); + ipcMain.on("config.saveConfig", async (event, args) => { + saveConfig(args, (err, numberOfUpdated, upsert) => { + if (!err) { + const start = args.systemSelfStart || false; + console.log('开机自启', start) + app.setLoginItemSettings({ + openAtLogin: start, //win + openAsHidden: start, //macOs + }); + } + event.reply("Config.saveConfig.hook", { + err: err, + numberOfUpdated: numberOfUpdated, + upsert: upsert + }); + }); }); - }); - ipcMain.on("config.getConfig", async (event, args) => { - getConfig((err, doc) => { - event.reply("Config.getConfig.hook", { - err: err, - data: doc - }); + ipcMain.on("config.getConfig", async (event, args) => { + getConfig((err, doc) => { + event.reply("Config.getConfig.hook", { + err: err, + data: doc + }); + }); }); - }); - ipcMain.on("config.versions", event => { - listVersion((err, doc) => { - event.reply("Config.versions.hook", { - err: err, - data: doc - }); + ipcMain.on("config.versions", event => { + listVersion((err, doc) => { + event.reply("Config.versions.hook", { + err: err, + data: doc + }); + }); }); - }); - ipcMain.on("config.hasConfig", event => { - getConfig((err, doc) => { - event.reply("Config.getConfig.hook", { - err: err, - data: doc - }); + ipcMain.on("config.hasConfig", event => { + getConfig((err, doc) => { + event.reply("Config.getConfig.hook", { + err: err, + data: doc + }); + }); }); - }); }; diff --git a/electron/storage/config.ts b/electron/storage/config.ts index de91af5..528eab3 100644 --- a/electron/storage/config.ts +++ b/electron/storage/config.ts @@ -22,6 +22,8 @@ export type Config = { tlsConfigServerName: string; proxyConfigEnable: boolean; proxyConfigProxyUrl: string; + systemSelfStart: boolean; + systemStartupConnect: boolean; }; /** diff --git a/src/views/config/index.vue b/src/views/config/index.vue index 531b89d..27d2f16 100644 --- a/src/views/config/index.vue +++ b/src/views/config/index.vue @@ -26,6 +26,8 @@ type Config = { tlsConfigServerName: string; proxyConfigEnable: boolean; proxyConfigProxyUrl: string; + systemSelfStart: boolean; + systemStartupConnect: boolean; }; type Version = { @@ -47,7 +49,9 @@ const formData = ref({ tlsConfigTrustedCaFile: "", tlsConfigServerName: "", proxyConfigEnable: false, - proxyConfigProxyUrl: "" + proxyConfigProxyUrl: "", + systemSelfStart: false, + systemStartupConnect: false, }); const loading = ref(1); @@ -76,7 +80,7 @@ const rules = reactive({ tlsConfigServerName: [{required: true, message: "请输入TLS Server名称", trigger: "blur"}], proxyConfigEnable: [{required: true, message: "请选择代理状态", trigger: "change"}], proxyConfigProxyUrl: [ - {required: true, message: "请输入代理地址", trigger: "change"}, + {required: true, message: "请输入代理地址", trigger: "change"}, { pattern: /^https?\:\/\/(\w+:\w+@)?([a-zA-Z0-9.-]+)(:\d+)?$/, message: "请输入正确的代理地址", @@ -341,6 +345,25 @@ onUnmounted(() => { + +
系统配置
+
+ + + + + + + + + +