增加开机自启配置项、增加启动自动连接配置项

This commit is contained in:
刘嘉伟 2024-07-17 11:18:12 +08:00
parent dba2a5b884
commit a3f00437e9
3 changed files with 67 additions and 34 deletions

View File

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

View File

@ -22,6 +22,8 @@ export type Config = {
tlsConfigServerName: string;
proxyConfigEnable: boolean;
proxyConfigProxyUrl: string;
systemSelfStart: boolean;
systemStartupConnect: boolean;
};
/**

View File

@ -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<Config>({
tlsConfigTrustedCaFile: "",
tlsConfigServerName: "",
proxyConfigEnable: false,
proxyConfigProxyUrl: ""
proxyConfigProxyUrl: "",
systemSelfStart: false,
systemStartupConnect: false,
});
const loading = ref(1);
@ -76,7 +80,7 @@ const rules = reactive<FormRules>({
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(() => {
<el-input-number class="!w-full" controls-position="right" v-model="formData.logMaxDays"/>
</el-form-item>
</el-col>
<el-col :span="24">
<div class="h2">系统配置</div>
</el-col>
<el-col :span="12">
<el-form-item label="开机自启:" prop="systemSelfStart">
<el-switch active-text=""
inline-prompt
inactive-text="关"
v-model="formData.systemSelfStart"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="自动连接:" prop="systemStartupConnect">
<el-switch active-text=""
inline-prompt
inactive-text="关"
v-model="formData.systemStartupConnect"/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item>
<el-button plain type="primary" @click="handleSubmit">