增加webPort修改功能

This commit is contained in:
刘嘉伟 2024-12-02 17:49:04 +08:00
parent 90233f006a
commit 5ac69de59a
4 changed files with 91 additions and 8 deletions

View File

@ -144,7 +144,9 @@ export const initConfigApi = win => {
metaToken: sourceConfig?.metadatas?.token || "",
systemSelfStart: false,
systemStartupConnect: false,
systemSilentStartup: false
systemSilentStartup: false,
webEnable: true,
webPort: sourceConfig?.webServer?.port || 57400
};
let frpcProxys = [];
// 解析proxy

View File

@ -171,7 +171,7 @@ log.to = "frpc.log"
log.level = "${config.logLevel}"
log.maxDays = ${config.logMaxDays}
webServer.addr = "127.0.0.1"
webServer.port = 57400
webServer.port = ${config.webPort}
transport.tls.enable = ${config.tlsConfigEnable}
${
config.tlsConfigEnable && config.tlsConfigCertFile
@ -325,7 +325,7 @@ log_file = "frpc.log"
log_level = ${config.logLevel}
log_max_days = ${config.logMaxDays}
admin_addr = 127.0.0.1
admin_port = 57400
admin_port = ${config.webPort}
tls_enable = ${config.tlsConfigEnable}
${

View File

@ -45,7 +45,9 @@ const defaultFormData = ref<FrpConfig>({
user: "",
metaToken: "",
transportHeartbeatInterval: 30,
transportHeartbeatTimeout: 90
transportHeartbeatTimeout: 90,
webEnable: true,
webPort: 57400
});
const formData = ref<FrpConfig>(defaultFormData.value);
@ -113,6 +115,12 @@ const rules = reactive<FormRules>({
],
transportHeartbeatTimeout: [
{ required: true, message: "心跳超时时间不能为空", trigger: "change" }
],
webEnable: [
{ required: true, message: "web界面开关不能为空", trigger: "change" }
],
webPort: [
{ required: true, message: "web界面端口不能为空", trigger: "change" }
]
});
@ -187,6 +195,10 @@ onMounted(() => {
data.transportHeartbeatTimeout =
defaultFormData.value.transportHeartbeatTimeout;
}
if (data.webEnable == null || data.webEnable == undefined) {
data.webEnable = true;
data.webPort = 57400;
}
formData.value = data;
}
}
@ -687,7 +699,7 @@ onUnmounted(() => {
<div class="h2">TLS Config</div>
</el-col>
<el-col :span="24">
<el-form-item label="是否启用TLS" prop="tlsConfigEnable">
<el-form-item label="启用TLS" prop="tlsConfigEnable">
<el-switch
active-text="开"
inline-prompt
@ -876,7 +888,7 @@ onUnmounted(() => {
<div class="h2">代理</div>
</el-col>
<el-col :span="24">
<el-form-item label="是否启动代理:" prop="proxyConfigEnable">
<el-form-item label="启用代理:" prop="proxyConfigEnable">
<el-switch
active-text="开"
inline-prompt
@ -915,6 +927,73 @@ onUnmounted(() => {
</el-col>
</template>
<el-col :span="24">
<div class="h2">Web 界面</div>
</el-col>
<el-col :span="12">
<el-form-item label="启用Web界面" prop="webEnable">
<template #label>
<div class="h-full flex items-center mr-1">
<el-popover width="300" placement="top" trigger="hover">
<template #reference>
<IconifyIconOffline
class="text-base"
color="#5A3DAA"
icon="info"
/>
</template>
热更新等功能依赖于web界面<span class="font-black text-[#5A3DAA]"
>不可停用Web</span
>
</el-popover>
</div>
启用Web
</template>
<el-switch
active-text="开"
inline-prompt
disabled
inactive-text="关"
v-model="formData.webEnable"
/>
</el-form-item>
</el-col>
<template v-if="formData.webEnable">
<el-col :span="12">
<el-form-item label="Web 端口:" prop="webPort">
<template #label>
<div class="h-full flex items-center mr-1">
<el-popover width="300" placement="top" trigger="hover">
<template #default>
对应参数<span class="font-black text-[#5A3DAA]"
>webServer.port</span
><br/>
自行保证端口没有被占用否则会导致启动失败
</template>
<template #reference>
<IconifyIconOffline
class="text-base"
color="#5A3DAA"
icon="info"
/>
</template>
</el-popover>
</div>
Web 端口
</template>
<el-input-number
placeholder="57400"
v-model="formData.webPort"
:min="0"
:max="65535"
controls-position="right"
></el-input-number>
</el-form-item>
</el-col>
</template>
<el-col :span="24">
<div class="h2">日志配置</div>
</el-col>
@ -977,8 +1056,8 @@ onUnmounted(() => {
<el-popover placement="top" trigger="hover">
<template #default>
开启后启动时<span class="font-black text-[#5A3DAA]"
>不打开界面</span
>
>不打开界面</span
>
</template>
<template #reference>
<IconifyIconOffline

2
types/global.d.ts vendored
View File

@ -83,6 +83,8 @@ declare global {
metaToken: string;
transportHeartbeatInterval: number;
transportHeartbeatTimeout: number;
webEnable: boolean;
webPort: number;
};
type GitHubMirror = {