Compare commits

..
1 Commits
Author SHA1 Message Date
黑先森 922ba3f1ea 优化主界面文字说明,高级选项排版和文字说明 2025-01-06 20:00:47 +08:00
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 }">
+10 -10
View File
@@ -14,28 +14,28 @@ const store = defineStore("main", {
connectAfterStart: false, //软件打开后,是否自动连接
disableIpv6: false, // 是否禁用IPv6
port: "11010", // 监听端口号
enableCustomListener: false, // 是否自定义监听
customListenerV6Data: "", //自定义ipv6监听
enableCustomListenerV6: false, // 是否自定义监听
customListenerData: "", // 自定义监听地址
enableCustomListener: true, // 是否自定义监听
customListenerV6Data: "udp://[::]:11010", //自定义ipv6监听
enableCustomListenerV6: true, // 是否自定义监听
customListenerData: "tcp://0.0.0.0:11010\nudp://0.0.0.0:11010\ntcp://[::]:11010", // 自定义监听地址
disbleListenner: false, // 是否禁用监听
disableEncryption: true, // 是否禁用加密
disableEncryption: false, // 是否禁用加密
multiThread: false, //使用多线程
enablExitNode: false, // 是否启用退出节点
noTun: false, // 是否使用TUN
latencyfirst: false, // 是否优先延迟
useSmoltcp: false, // 是否为子网代理启用smoltcp堆栈
disableUdpHolePunching: false, // 是否禁用UDP打洞
relayAllPeerrpc: false, // 是否启用所有对等RPC
relayAllPeerrpc: true, // 是否启用所有对等RPC
disbleP2p: false, // 是否使用P2P
dhcp: true, // 是否使用DHCP
saveErrorLog: true, // 是否保存错误日志
logLevel: "error", //日志等级
devName: false, //自定义网卡名
devNameValue: "", //自定义网卡名
enableCustomProtocol: false, //自定义默认协议
devName: true, //自定义网卡名
devNameValue: "etgame", //自定义网卡名
enableCustomProtocol: true, //自定义默认协议
customProtocol: "tcp", //自定义默认协议
enableNetCardMetric: false, //启用网卡自定义跃点
enableNetCardMetric: true, //启用网卡自定义跃点
netCardMetricValue: 1, //自定义网卡跃点值
enablePreventSleep: false, //组织系统休眠
compression: "none", //加密算法