优化主界面文字说明,高级选项排版和文字说明

This commit is contained in:
黑先森
2025-01-06 20:00:47 +08:00
parent 8ed652ee26
commit 922ba3f1ea
4 changed files with 73 additions and 60 deletions
+33 -28
View File
@@ -1,9 +1,8 @@
<template>
<div class="flex h-full flex-col items-start overflow-auto px-[25px]">
<div><ElCheckbox v-model="mainStore.config.disableIpv6">不使用IPv6</ElCheckbox></div>
<div class="flex flex-nowrap items-center gap-[15px]">
<div class="flex flex-nowrap items-center gap-[5px]">
<ElCheckbox v-model="mainStore.config.enableCustomProtocol">自定义联机时使用的默认协议</ElCheckbox>
<ElCheckbox v-model="mainStore.config.enableCustomProtocol">默认直连(p2p)使用的协议</ElCheckbox>
<ElTooltip content="如果没有支持该协议的节点地址,程序会自动处理,请放心使用">
<ElIcon><QuestionFilled /></ElIcon>
</ElTooltip>
@@ -24,29 +23,8 @@
</ElSelect>
</div>
</div>
<div class="flex flex-nowrap items-center gap-[15px]">
<ElCheckbox v-model="mainStore.config.saveErrorLog">输出日志到本地</ElCheckbox>
<div class="w-[140px]">
<ElSelect
size="small"
v-model="mainStore.config.logLevel"
placeholder="请选择日志等级"
class="ml-[5px]"
>
<ElOption
v-for="item in data"
:key="item"
:label="`level - ${item}`"
:value="item"
></ElOption>
</ElSelect>
</div>
<ElButton
@click="openLogDir"
size="small"
>
打开日志目录
</ElButton>
<div>
<ElCheckbox v-model="mainStore.config.relayAllPeerrpc">帮助对等节点建立直连(p2p)通信</ElCheckbox>
</div>
<div><ElCheckbox v-model="mainStore.config.connectAfterStart">软件启动后自动"启动联机"(搭配开机自启无感联机)</ElCheckbox></div>
<div class="flex flex-nowrap items-center gap-[15px]">
@@ -59,6 +37,13 @@
</ElButton>
</div>
<div><ElCheckbox v-model="mainStore.config.enablePreventSleep">防止系统休眠(比如:屏幕会一直亮着)</ElCheckbox></div>
<div class="flex flex-nowrap items-center gap-[5px]">
<ElCheckbox v-model="mainStore.config.latencyfirst">延迟优先模式将尝试使用最低延迟路径转发流量</ElCheckbox>
<ElTooltip content="视网络质量进行选择,可能会出现中转与直连(p2p)来回切换的情况">
<ElIcon><QuestionFilled /></ElIcon>
</ElTooltip>
</div>
<div><ElCheckbox v-model="mainStore.config.disableIpv6">不使用IPv6</ElCheckbox></div>
<ElDivider />
<div class="flex items-center gap-[10px]">
<ElCheckbox v-model="mainStore.config.disbleListenner">不监听任何端口只连接到对等节点</ElCheckbox>
@@ -210,10 +195,30 @@
<ElDivider />
<div><ElCheckbox v-model="mainStore.config.useSmoltcp">为子网代理启用smoltcp堆栈</ElCheckbox></div>
<div><ElCheckbox v-model="mainStore.config.latencyfirst">延迟优先模式,将尝试使用最低延迟路径转发流量</ElCheckbox></div>
<div><ElCheckbox v-model="mainStore.config.disableUdpHolePunching">禁用UDP打洞功能</ElCheckbox></div>
<div>
<ElCheckbox v-model="mainStore.config.relayAllPeerrpc">转发所有对等节点的RPC数据包,即使对等节点不在转发网络白名单内</ElCheckbox>
<div class="flex flex-nowrap items-center gap-[15px]">
<ElCheckbox v-model="mainStore.config.saveErrorLog">输出日志到本地</ElCheckbox>
<div class="w-[140px]">
<ElSelect
size="small"
v-model="mainStore.config.logLevel"
placeholder="请选择日志等级"
class="ml-[5px]"
>
<ElOption
v-for="item in data"
:key="item"
:label="`level - ${item}`"
:value="item"
></ElOption>
</ElSelect>
</div>
<ElButton
@click="openLogDir"
size="small"
>
打开日志目录
</ElButton>
</div>
</div>
</template>
+29 -21
View File
@@ -11,7 +11,12 @@
>
<template #label>
<div class="flex flex-nowrap items-center gap-[0_5px]">
<div>服务器</div>
<div class="flex flex-nowrap items-center gap-[5px]">
<div>服务器</div>
<ElTooltip content="服务器是什么协议,中转就是什么协议">
<ElIcon><QuestionFilled /></ElIcon>
</ElTooltip>
</div>
<span>-</span>
<ElTag
effect="dark"
@@ -29,7 +34,7 @@
v-else
class="flex-1 truncate"
>
<ElTooltip :content="data.coreVersion">
<ElTooltip :content="`内核版本:${data.coreVersion}(不是软件的版本)`">
<ElTag type="info">
{{ data.coreVersion }}
</ElTag>
@@ -121,10 +126,10 @@
</ElFormItem>
<div class="flex flex-wrap items-center gap-[0_10px]">
<div class="flex-1">
<ElFormItem label="网络名">
<ElFormItem label="房间名">
<template #label>
<div class="flex items-center">
网络
房间
<ElTooltip content="对应命令行参数 --network-name">
<ElIcon><QuestionFilled /></ElIcon>
</ElTooltip>
@@ -132,16 +137,16 @@
</template>
<ElInput
maxlength="100"
placeholder="请输入网络名"
placeholder="请输入房间名"
v-model="config.networkName"
></ElInput>
</ElFormItem>
</div>
<div class="flex-1">
<ElFormItem label="网络密码">
<ElFormItem label="房间密码">
<template #label>
<div class="flex items-center">
网络密码
房间密码
<ElTooltip content="对应命令行参数 --network-secret">
<ElIcon><QuestionFilled /></ElIcon>
</ElTooltip>
@@ -150,7 +155,7 @@
<ElInput
show-password
maxlength="100"
placeholder="请输入网络密码"
placeholder="请输入房间密码"
v-model="config.networkPassword"
type="password"
></ElInput>
@@ -158,10 +163,10 @@
</div>
</div>
<div class="flex gap-[0_10px]">
<ElFormItem label="主机名">
<ElFormItem label="成员名">
<template #label>
<div class="flex items-center">
主机
成员
<ElTooltip content="对应命令行参数 --hostname">
<ElIcon><QuestionFilled /></ElIcon>
</ElTooltip>
@@ -271,15 +276,15 @@
</ElTooltip>
<ElTooltip
placement="left"
content="成员"
content="房间信息"
>
<ElButton
class="!ml-[7px]"
@click="handleShowMemberDialog"
:icon="UserFilled"
plain
type="success"
size="small"
></ElButton>
>房间信息</ElButton>
</ElTooltip>
</div>
</div>
@@ -548,7 +553,7 @@
import { getMatches } from "@tauri-apps/plugin-cli";
import { initStartWinIpBroadcast } from "~/composables/netcard";
import useMainStore from "@/stores/index";
import { ElMessage, ElMessageBox } from "element-plus";
import { ElMessage, ElMessageBox, ElTooltip } from "element-plus";
import { getCurrentWindow, type Window } from "@tauri-apps/api/window";
import { getAllWebviewWindows, WebviewWindow } from "@tauri-apps/api/webviewWindow";
import etWindows from "@/composables/windows";
@@ -1049,7 +1054,6 @@
mountedShow(); // 不需要await
closePrevent();
data.hasNewVersion = await checkNewVersion();
});
onBeforeUnmount(() => {
@@ -1290,7 +1294,7 @@
disableUdpHolePunching,
relayAllPeerrpc,
compression,
enablePreventSleep,
enablePreventSleep
} = mainStore.config;
const WT = btoa(
encodeURIComponent(
@@ -1332,11 +1336,15 @@
console.error(err);
ElMessage.error("分享失败");
}
ElConfirmPrimary(`{action} 虚拟网IP,主机名,子网代理,为子网代理启用smoltcp堆栈,开机自启,软件启动自动联机,出口节点,不生成Tun网卡,错误日志相关配置`, "提示", {
confirmButtonText: "知道了",
showCancelButton: false,
action: "不会分享"
});
ElConfirmPrimary(
`{action} 虚拟网IP,主机名,子网代理,为子网代理启用smoltcp堆栈,开机自启,软件启动自动联机,出口节点,不生成Tun网卡,错误日志相关配置`,
"提示",
{
confirmButtonText: "知道了",
showCancelButton: false,
action: "不会分享"
}
);
}
if (command === "import_config") {
importConfigData.data = "";
+1 -1
View File
@@ -16,7 +16,7 @@
<ElTableColumn
sortable
width="140"
label="主机名"
label="成员名"
prop="hostname"
>
<template #default="{ row }">