Compare commits

...
4 Commits
15 changed files with 449 additions and 309 deletions
+1
View File
@@ -10,6 +10,7 @@ dist
.idea
.vscode
release
target
src-tauri/easytier/logs
src-tauri/easytier/tool/ResourcesExtract.exe
+13 -5
View File
@@ -1,12 +1,20 @@
pnpm run build
rustup default nightly
@REM rem 使用rust nightly构建支持win7的版本,请先将根目录的windows.0.48.5 放入以下目录
@REM rem C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\你自己的版本\lib\x64
@REM rem C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\你自己的版本\lib\x86
@REM rem C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\你自己的版本\atlmfc\lib\x64
@REM rem C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\你自己的版本\atlmfc\lib\x86
pnpm tauri build -- -Z build-std --target x86_64-win7-windows-msvc
rustup default stable
pnpm tauri build
@REM 复制文件夹src-tauri\easytier 到 src-tauri\target\release目录下 覆盖目录下同名目录
xcopy /s /y /i src-tauri\easytier src-tauri\target\release\easytier
@REM 复制 src-tauri\帮助.txt 和 src-tauri\uninstall.exe 到 src-tauri\target\release目录下 覆盖目录下同名文件
xcopy /y src-tauri\帮助.txt src-tauri\target\release\帮助.txt
xcopy /y src-tauri\uninstall.exe src-tauri\target\release\uninstall.exe
@REM 复制文件夹src-tauri\easytier到 src-tauri\target\x86_64-win7-windows-msvc\release目录下 覆盖目录下同名目录
@REM 复制 src-tauri\帮助.txt 和 src-tauri\uninstall.exe 到 src-tauri\target\x86_64-win7-windows-msvc\release目录下 覆盖目录下同名文件
xcopy /y src-tauri\帮助.txt src-tauri\target\x86_64-win7-windows-msvc\release\帮助.txt
xcopy /y src-tauri\uninstall.exe src-tauri\target\x86_64-win7-windows-msvc\release\uninstall.exe
xcopy /s /y /i src-tauri\easytier src-tauri\target\x86_64-win7-windows-msvc\release\easytier
pnpm run release
pnpm run release-win7
+2 -7
View File
@@ -7,7 +7,7 @@ import { bounce } from "~/utils";
const b = bounce(600);
export type ConfigServerUrlType = Array<string>;
export const updateConfigJsonBounce = (configJsonSeverUrl?: ConfigServerUrlType) => {
export const updateConfigJsonBounce = (configJsonSeverUrl?: ConfigServerUrlType | null) => {
b(async () => {
const mainStore = useMainStore();
if (mainStore.createConfigInEasytier) {
@@ -16,7 +16,7 @@ export const updateConfigJsonBounce = (configJsonSeverUrl?: ConfigServerUrlType)
});
};
export const updateConfigJson = async (configJsonSeverUrl?: ConfigServerUrlType) => {
export const updateConfigJson = async (configJsonSeverUrl?: ConfigServerUrlType | null) => {
const mainStore = useMainStore();
const path = import.meta.env.VITE_CONFIG_FILE_NAME;
if (isNil(configJsonSeverUrl)) {
@@ -30,7 +30,6 @@ export const updateConfigJson = async (configJsonSeverUrl?: ConfigServerUrlType)
const {
proxyNetworks,
autoStart,
connectAfterStart,
saveErrorLog,
serverUrl,
enableCustomListener,
@@ -39,10 +38,6 @@ export const updateConfigJson = async (configJsonSeverUrl?: ConfigServerUrlType)
acceptDNS,
enablePortForward,
portForwardData,
tcpWhitelist,
udpWhitelist,
tcpWhitelistEnable,
udpWhitelistEnable,
...otherConfig
} = mainStore.config;
let writeServerUrl: Array<string> = serverUrl;
+2 -2
View File
@@ -3,7 +3,7 @@
"private": true,
"author": "leizi97",
"description": "A simple network initiator based on Easytier",
"version": "1.5.1",
"version": "1.5.2",
"scripts": {
"dev": "nuxt dev --dotenv env/.env.dev --host 0.0.0.0",
"build": "nuxt generate --dotenv env/.env.prod",
@@ -28,7 +28,7 @@
"@vitejs/plugin-vue-jsx": "5.1.1",
"@vueuse/core": "12.7.0",
"archiver": "^7.0.1",
"element-plus": "2.11.5",
"element-plus": "2.11.7",
"less": "4.2.1",
"lodash-es": "^4.17.21",
"nuxt": "3.19.2",
+45 -29
View File
@@ -337,6 +337,12 @@
<ElDivider class="!m-0 !h-[2px]" />
</ElDropdownItem>
<ElDropdownItem
command="cidr"
:icon="Share"
>
子网代理
</ElDropdownItem>
<!-- <ElDropdownItem
command="import_config"
:icon="Link"
>
@@ -347,7 +353,7 @@
:icon="Share"
>
分享联机配置
</ElDropdownItem>
</ElDropdownItem> -->
<ElDropdownItem
command="reconnect"
:icon="RefreshRight"
@@ -406,21 +412,32 @@
开机自启
</ElCheckbox>
</ElTooltip>
<div>
<ElButton
@click="handleShowCidrDialog"
:icon="Share"
size="small"
<div class="flex items-center gap-[0_2px]">
<ElDropdown
@command="handleStartCommand"
trigger="click"
:show-arrow="false"
>
子网代理
</ElButton>
<ElButton
@click="handleShowAdvanceDialog"
:icon="Setting"
size="small"
>
高级选项
</ElButton>
<ElButton
:icon="Share"
size="small"
>
分享/导入
</ElButton>
<template #dropdown>
<el-dropdown-item command="share_config">分享联机配置</el-dropdown-item>
<el-dropdown-item command="import_config">导入联机配置</el-dropdown-item>
</template>
</ElDropdown>
<div>
<ElButton
@click="handleShowAdvanceDialog"
:icon="Setting"
size="small"
>
高级选项
</ElButton>
</div>
</div>
<div class="flex items-center gap-[0_5px]">
<div>
@@ -1172,7 +1189,6 @@
);
};
let unlistenDownload: UnlistenFn | null = null;
let unlistenDownloadError: UnlistenFn | null = null;
let progress = ref<number>(0);
@@ -1506,7 +1522,6 @@
checkNewVersion();
}
await storageDialog();
});
// storageEventEmitter.addEventListener("localStorageChange", () => {
@@ -1519,7 +1534,6 @@
return data.configJsonSeverUrl;
});
onBeforeUnmount(() => {
unListenAll();
listenObj.unListenReleaseList && listenObj.unListenReleaseList();
@@ -1529,7 +1543,6 @@
cidrTimer && clearInterval(cidrTimer);
stopPreventSleep();
// unListenStorage && unListenStorage();
});
const getArgs = async () => {
@@ -1600,7 +1613,7 @@
args.push("--disable-p2p");
}
if (mainStore.config.disableIpv6) {
args.push("--disable-ipv6");
args.push("--disable-ipv6", "true");
}
if (mainStore.config.disbleListenner) {
args.push("--no-listener");
@@ -1632,28 +1645,28 @@
mainStore.config.proxyNetworks = formatProxyNetworks.join("\n");
}
if (mainStore.config.disableEncryption) {
args.push("--disable-encryption");
args.push("--disable-encryption", "true");
}
if (mainStore.config.multiThread) {
args.push("--multi-thread");
args.push("--multi-thread", "true");
}
if (mainStore.config.enablExitNode) {
args.push("--enable-exit-node");
args.push("--enable-exit-node", "true");
}
if (mainStore.config.noTun) {
args.push("--no-tun");
args.push("--no-tun", "true");
}
if (mainStore.config.latencyfirst) {
args.push("--latency-first");
args.push("--latency-first", "true");
}
if (mainStore.config.useSmoltcp) {
args.push("--use-smoltcp");
args.push("--use-smoltcp", "true");
}
if (mainStore.config.disableUdpHolePunching) {
args.push("--disable-udp-hole-punching");
args.push("--disable-udp-hole-punching", "true");
}
if (mainStore.config.relayAllPeerrpc) {
args.push("--relay-all-peer-rpc");
args.push("--relay-all-peer-rpc", "true");
}
if (mainStore.config.saveErrorLog) {
args.push("--file-log-level", mainStore.config.logLevel, "--file-log-dir", import.meta.env.VITE_LOG_PATH);
@@ -1680,7 +1693,7 @@
args.push("--bind-device", "true");
}
if (mainStore.proxyForwardBySystem) {
args.push("--proxy-forward-by-system");
args.push("--proxy-forward-by-system", "true");
}
if (mainStore.config.acceptDNS) {
args.push("--accept-dns", "true");
@@ -1879,6 +1892,9 @@
if (command === "create_server") {
await handleShowServerDialog();
}
if (command === "cidr") {
await handleShowCidrDialog();
}
if (command === "config_admin") {
configAdminData.visible = true;
const path = import.meta.env.VITE_CONFIG_ADMIN_PATH;
+67 -5
View File
@@ -10,7 +10,7 @@
<ElTable
stripe
border
:data="data.member"
:data="computedMember"
v-else
>
<ElTableColumn
@@ -65,7 +65,25 @@
label="虚拟网IP"
:sort-method="sortIpv4"
:sort-orders="['ascending', 'descending', null]"
></ElTableColumn>
>
<template #default="{ row }">
<div class="space-y-[5px]">
<div>
{{ row.ipv4 || "-" }}
</div>
<div v-if="row.proxy?.[0]">
<ElTooltip :content="row.proxy?.[1] == 'Connected' ? '已连接' : '已断开'">
<ElTag
size="small"
:type="row.proxy?.[1] == 'Connected' ? 'success' : 'danger'"
>
{{ row.proxy?.[0] || "-" }}代理
</ElTag>
</ElTooltip>
</div>
</div>
</template>
</ElTableColumn>
<ElTableColumn
sortable
prop="lat_ms"
@@ -137,7 +155,7 @@
</template>
<script setup lang="ts">
import { invoke } from "@tauri-apps/api/core";
import { reactive, onMounted, onBeforeUnmount } from "vue";
import { reactive, onMounted, onBeforeUnmount, computed } from "vue";
import { ATJ, parseCliInfo } from "@/utils";
import { ElConfirmDanger } from "~/utils/element";
import { getCurrentWindow } from "@tauri-apps/api/window";
@@ -157,6 +175,7 @@
id: string;
version: string;
connections_addrs: string[];
proxy?: [string, "Connected" | "Closed"];
};
type ConnectionsType = {
@@ -209,10 +228,35 @@
symmetriceasyinc: "nat4-easyinc",
symUdpfirewall: "nat4-udpfirewall"
};
type Proxy = {
src: string;
dst: string;
start_time: string;
state: "Connected" | "Closed";
transport_type: string;
};
type natKyes = keyof typeof natMaps;
const data = reactive<{ member: Member[] }>({
member: []
const data = reactive<{ member: Member[]; proxy: Proxy[] }>({
member: [],
proxy: []
});
const computedMember = computed(() => {
const localMember = data.member.find(member => member?.cost == "Local");
if (!localMember) return data.member;
const ipv4 = localMember.ipv4;
const proxyMember = data.proxy?.filter(proxy => proxy.src.startsWith(`${ipv4}:`));
const proxyObj: Record<string, [string, "Connected" | "Closed"]> = {};
for (const proxy of proxyMember) {
proxyObj[proxy.dst.split(":")[0]] = [proxy.transport_type, proxy.state];
}
return data.member.map(m => {
m.proxy = proxyObj?.[m.ipv4.split(":")?.[0]] || m?.proxy || ["", "Closed"];
return m;
});
});
// 延迟排序函数
@@ -395,9 +439,27 @@
data.member = JSON.parse(member) as Member[];
}
// console.log(data.member);
getMembersProxy();
startTimer();
};
const getMembersProxy = async () => {
const [error, proxy] = await ATJ(invoke<string>("get_members_proxy"));
if (error) {
data.proxy = [];
return "";
}
if (proxy === "_EasytierGameCliFailedToGetProxy_") {
data.proxy = [];
return "";
}
try {
data.proxy = JSON.parse(proxy) as Proxy[];
} catch (error) {
data.proxy = [];
}
};
const startTimer = () => {
timer && clearTimeout(timer);
timer = setTimeout(() => {
+62 -37
View File
@@ -1,46 +1,53 @@
<template>
<div class="relative flex h-full flex-col flex-wrap gap-[0] overflow-hidden">
<div class="flex h-[40px] w-full flex-nowrap items-center gap-[0_5px]">
<div class="ml-[5px] mr-auto flex flex-1">
<div class="flex h-[40px] w-full flex-nowrap items-center gap-[0_8px]">
<div class="ml-[5px] mr-auto flex">
<ElText class="text-lg font-semibold">公共服务器节点列表</ElText>
</div>
<div>
<ElButton
:loading="loading"
size="small"
type="primary"
class="mr-[5px]"
@click="refreshNodes"
>
刷新
</ElButton>
<ElButton
:disabled="selectedNodes.length === 0"
size="small"
type="success"
class="mr-[5px]"
@click="addSelectedToServerList"
>
添加选中 ({{ selectedNodes.length }})
</ElButton>
<ElTag
v-if="lastUpdateTime"
size="small"
type="info"
>
最后更新: {{ lastUpdateTime }}
</ElTag>
<div class="flex w-fit flex-nowrap items-center gap-[0_8px]">
<div>
<ElInput
placeholder="搜索名称/地址"
v-model="searchName"
clearable
></ElInput>
</div>
<div>
<ElButton
size="small"
type="primary"
@click="refreshNodes"
>
刷新
</ElButton>
<ElButton
:disabled="selectedNodes.length === 0"
size="small"
type="success"
class="mr-[8px]"
@click="addSelectedToServerList"
>
添加选中 ({{ selectedNodes.length }})
</ElButton>
<ElTag
size="small"
type="info"
>
最后更新: {{ lastUpdateTime || "00:00:00" }}
</ElTag>
</div>
</div>
</div>
<div class="flex w-full flex-1 flex-wrap gap-[0] overflow-auto">
<ElTable
:data="nodes"
:data="computedNodes"
stripe
height="100%"
ref="tableRef"
:empty-text="loading ? '加载中...' : '暂无可用服务器'"
:default-sort="{ prop: 'last_response_time', order: 'ascending' }"
@selection-change="handleSelectionChange"
@select-all="handleSelectChange"
@select="handleSelectChange"
@row-click="handleRowClick"
>
<ElTableColumn
@@ -136,7 +143,6 @@
<ElTableColumn
prop="description"
label="描述"
width="300"
sortable
>
<template #default="{ row }">
@@ -151,10 +157,11 @@
<script setup lang="ts">
import useMainStore from "@/stores/index";
import { invoke } from "@tauri-apps/api/core";
import { reactive, onMounted, onBeforeUnmount, ref, useTemplateRef } from "vue";
import { reactive, onMounted, onBeforeUnmount, ref, useTemplateRef, computed, nextTick } from "vue";
import { ElMessage, type TableInstance } from "element-plus";
import { dataSubscribe } from "~/composables/windows";
import { uniq } from "lodash-es";
import { inputBounceRef } from "@/utils";
import { uniq } from "lodash-es";
const mainStore = useMainStore();
// 节点数据
@@ -162,6 +169,21 @@ import { uniq } from "lodash-es";
const loading = ref(false);
const lastUpdateTime = ref("");
const selectedNodes = ref<NodeItem[]>([]);
const searchName = ref<string>("");
const computedNodes = computed(() => {
const v = searchName.value.trim();
let result = nodes;
if (v) {
result = nodes.filter(node => node.name.includes(v) || node.address.includes(v));
}
nextTick(() => {
for (const node of selectedNodes.value) {
const nodeItem = nodes?.find(n => n.id === node.id);
tableRef.value?.toggleRowSelection(nodeItem, true);
}
});
return result;
});
const tableRef = useTemplateRef<TableInstance>("tableRef");
// 定时器
@@ -191,14 +213,15 @@ import { uniq } from "lodash-es";
// 刷新节点数据
const refreshNodes = async () => {
loading.value = true;
let nodesList = await invoke<string>("fetch_nodes_list", { page: 1, limit: 1000 });
try {
let nodesList = await invoke<string>("fetch_nodes_list", { page: 1, limit: 1000 });
if (nodesList === "_EasytierGameFetchNodesError_") {
nodesList = "";
return;
}
if (nodesList) {
const nodesListData: NodesResponse = JSON.parse(nodesList);
console.log(nodesListData);
// console.log(nodesListData);
if (nodesListData.success && nodesListData.data.items) {
// 过滤可用节点
const availableNodes = filterAvailableNodes(nodesListData.data.items);
@@ -215,6 +238,7 @@ import { uniq } from "lodash-es";
}
}
} catch (err) {
console.log(nodesList);
console.error("获取节点数据失败:", err);
ElMessage.error("获取节点数据失败");
} finally {
@@ -303,7 +327,7 @@ import { uniq } from "lodash-es";
const startRefreshTimer = () => {
refreshTimer = setInterval(() => {
refreshNodes();
}, 10000); // 10秒刷新一次
}, 60000); // 10秒刷新一次
};
// 停止定时器
@@ -315,12 +339,13 @@ import { uniq } from "lodash-es";
};
// 处理选择变化
const handleSelectionChange = (selection: NodeItem[]) => {
const handleSelectChange = (selection: NodeItem[]) => {
selectedNodes.value = selection;
};
const handleRowClick = (row: NodeItem) => {
tableRef.value?.toggleRowSelection(row);
selectedNodes.value = tableRef.value?.getSelectionRows() || [];
};
// 添加选中的服务器到主页面服务器列表
+37 -42
View File
@@ -17,7 +17,7 @@ importers:
version: 2.3.2(vue@3.5.22(typescript@5.8.3))
'@element-plus/nuxt':
specifier: 1.1.4
version: 1.1.4(@element-plus/icons-vue@2.3.2(vue@3.5.22(typescript@5.8.3)))(element-plus@2.11.5(vue@3.5.22(typescript@5.8.3)))(magicast@0.3.5)
version: 1.1.4(@element-plus/icons-vue@2.3.2(vue@3.5.22(typescript@5.8.3)))(element-plus@2.11.7(vue@3.5.22(typescript@5.8.3)))(magicast@0.3.5)
'@nuxtjs/tailwindcss':
specifier: 6.13.2
version: 6.13.2(magicast@0.3.5)
@@ -64,8 +64,8 @@ importers:
specifier: ^7.0.1
version: 7.0.1
element-plus:
specifier: 2.11.5
version: 2.11.5(vue@3.5.22(typescript@5.8.3))
specifier: 2.11.7
version: 2.11.7(vue@3.5.22(typescript@5.8.3))
less:
specifier: 4.2.1
version: 4.2.1
@@ -432,8 +432,8 @@ packages:
cpu: [x64]
os: [win32]
'@fastify/busboy@3.1.1':
resolution: {integrity: sha512-5DGmA8FTdB2XbDeEwc/5ZXBl6UbBAyBOOLlPuBnZ/N1SwdH9Ii+cOX3tBROlDgcTXxjOYnLMVoKk9+FXAw0CJw==}
'@fastify/busboy@3.2.0':
resolution: {integrity: sha512-m9FVDXU3GT2ITSe0UaMA5rU3QkfC/UXtCU8y0gSN/GugTqtVldOBWIB5V6V3sbmenVZUIpU6f+mPEO2+m5iTaA==}
'@floating-ui/core@1.6.8':
resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==}
@@ -514,8 +514,8 @@ packages:
resolution: {integrity: sha512-5XUvZuffe3KetyhbWwd4n2ktd7wraocCYw10tlM+/u/95iAz29GjNiuNxbCD1T6Bn1MyGc4QLVNKOWhzJkVFAw==}
engines: {node: ^14.16.0 || >=16.0.0}
'@netlify/open-api@2.37.0':
resolution: {integrity: sha512-zXnRFkxgNsalSgU8/vwTWnav3R+8KG8SsqHxqaoJdjjJtnZR7wo3f+qqu4z+WtZ/4V7fly91HFUwZ6Uz2OdW7w==}
'@netlify/open-api@2.42.0':
resolution: {integrity: sha512-oHFCCo5FigIZcni/IioNKPwL9jC2++RUnHHfHFOhXKyLDGB8x93cU03N15RuZhG92+VM6dOzhM4WDEDeG6hXcQ==}
engines: {node: '>=14.8.0'}
'@netlify/runtime-utils@1.3.1':
@@ -1521,16 +1521,16 @@ packages:
resolution: {integrity: sha512-LOtTn+JgJvX8WfBVJtF08TGrdjuFzGJc4mkP8EdDI8ADbvO7kiexYep1o8dwnt0okb0jYclCDXF13xU7Ge4zSw==}
engines: {node: '>=18.0.0'}
'@whatwg-node/fetch@0.10.6':
resolution: {integrity: sha512-6uzhO2aQ757p3bSHcemA8C4pqEXuyBqyGAM7cYpO0c6/igRMV9As9XL0W12h5EPYMclgr7FgjmbVQBoWEdJ/yA==}
'@whatwg-node/fetch@0.10.11':
resolution: {integrity: sha512-eR8SYtf9Nem1Tnl0IWrY33qJ5wCtIWlt3Fs3c6V4aAaTFLtkEQErXu3SSZg/XCHrj9hXSJ8/8t+CdMk5Qec/ZA==}
engines: {node: '>=18.0.0'}
'@whatwg-node/node-fetch@0.7.18':
resolution: {integrity: sha512-IxKdVWfZYasGiyxBcsROxq6FmDQu3MNNiOYJ/yqLKhe+Qq27IIWsK7ItbjS2M9L5aM5JxjWkIS7JDh7wnsn+CQ==}
'@whatwg-node/node-fetch@0.8.1':
resolution: {integrity: sha512-cQmQEo7IsI0EPX9VrwygXVzrVlX43Jb7/DBZSmpnC7xH4xkyOnn/HykHpTaQk7TUs7zh59A5uTGqx3p2Ouzffw==}
engines: {node: '>=18.0.0'}
'@whatwg-node/promise-helpers@1.3.1':
resolution: {integrity: sha512-D+OwTEunoQhVHVToD80dPhfz9xgPLqJyEA3F5jCRM14A2u8tBBQVdZekqfqx6ZAfZ+POT4Hb0dn601UKMsvADw==}
'@whatwg-node/promise-helpers@1.3.2':
resolution: {integrity: sha512-Nst5JdK47VIl9UcGwtv2Rcgyn5lWtZ0/mhRQ4G8NN2isxpq2TO30iqHzmwoJycjWuyUfg3GFXqP/gFHXeV57IA==}
engines: {node: '>=16.0.0'}
'@whatwg-node/server@0.9.71':
@@ -1760,11 +1760,8 @@ packages:
caniuse-api@3.0.0:
resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
caniuse-lite@1.0.30001713:
resolution: {integrity: sha512-wCIWIg+A4Xr7NfhTuHdX+/FKh3+Op3LBbSp2N5Pfx6T/LhdQy3GTyoTg48BReaW/MyMNZAkTadsBtai3ldWK0Q==}
caniuse-lite@1.0.30001735:
resolution: {integrity: sha512-EV/laoX7Wq2J9TQlyIXRxTJqIw4sxfXS4OYgudGxBYRuTv0q7AM6yMEpU/Vo1I94thg9U6EZ2NfZx9GJq83u7w==}
caniuse-lite@1.0.30001753:
resolution: {integrity: sha512-Bj5H35MD/ebaOV4iDLqPEtiliTN29qkGtEHCwawWn4cYm+bPJM2NsaP30vtZcnERClMzp52J4+aw2UNbK4o+zw==}
chalk@4.1.2:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
@@ -2161,8 +2158,8 @@ packages:
electron-to-chromium@1.5.202:
resolution: {integrity: sha512-NxbYjRmiHcHXV1Ws3fWUW+SLb62isauajk45LUJ/HgIOkUA7jLZu/X2Iif+X9FBNK8QkF9Zb4Q2mcwXCcY30mg==}
element-plus@2.11.5:
resolution: {integrity: sha512-O+bIVHQCjUDm4GiIznDXRoS8ar2TpWLwfOGnN/Aam0VXf5kbuc4SxdKKJdovWNxmxeqbcwjsSZPKgtXNcqys4A==}
element-plus@2.11.7:
resolution: {integrity: sha512-Bh47wuzsqaNBNDkbtlOlZER1cGcOB8GsXp/+C9b95MOrk0wvoHUV4NKKK7xMkfYNFYdYysQ752oMhnExgAL6+g==}
peerDependencies:
vue: ^3.2.0
@@ -4686,11 +4683,11 @@ snapshots:
dependencies:
vue: 3.5.22(typescript@5.8.3)
'@element-plus/nuxt@1.1.4(@element-plus/icons-vue@2.3.2(vue@3.5.22(typescript@5.8.3)))(element-plus@2.11.5(vue@3.5.22(typescript@5.8.3)))(magicast@0.3.5)':
'@element-plus/nuxt@1.1.4(@element-plus/icons-vue@2.3.2(vue@3.5.22(typescript@5.8.3)))(element-plus@2.11.7(vue@3.5.22(typescript@5.8.3)))(magicast@0.3.5)':
dependencies:
'@element-plus/icons-vue': 2.3.2(vue@3.5.22(typescript@5.8.3))
'@nuxt/kit': 3.17.7(magicast@0.3.5)
element-plus: 2.11.5(vue@3.5.22(typescript@5.8.3))
element-plus: 2.11.7(vue@3.5.22(typescript@5.8.3))
magic-string: 0.27.0
unplugin: 1.16.1
transitivePeerDependencies:
@@ -4790,7 +4787,7 @@ snapshots:
'@esbuild/win32-x64@0.25.10':
optional: true
'@fastify/busboy@3.1.1':
'@fastify/busboy@3.2.0':
optional: true
'@floating-ui/core@1.6.8':
@@ -4917,7 +4914,7 @@ snapshots:
write-file-atomic: 6.0.0
optional: true
'@netlify/open-api@2.37.0':
'@netlify/open-api@2.42.0':
optional: true
'@netlify/runtime-utils@1.3.1':
@@ -6026,25 +6023,25 @@ snapshots:
'@whatwg-node/disposablestack@0.0.6':
dependencies:
'@whatwg-node/promise-helpers': 1.3.1
'@whatwg-node/promise-helpers': 1.3.2
tslib: 2.8.1
optional: true
'@whatwg-node/fetch@0.10.6':
'@whatwg-node/fetch@0.10.11':
dependencies:
'@whatwg-node/node-fetch': 0.7.18
'@whatwg-node/node-fetch': 0.8.1
urlpattern-polyfill: 10.1.0
optional: true
'@whatwg-node/node-fetch@0.7.18':
'@whatwg-node/node-fetch@0.8.1':
dependencies:
'@fastify/busboy': 3.1.1
'@fastify/busboy': 3.2.0
'@whatwg-node/disposablestack': 0.0.6
'@whatwg-node/promise-helpers': 1.3.1
'@whatwg-node/promise-helpers': 1.3.2
tslib: 2.8.1
optional: true
'@whatwg-node/promise-helpers@1.3.1':
'@whatwg-node/promise-helpers@1.3.2':
dependencies:
tslib: 2.8.1
optional: true
@@ -6052,8 +6049,8 @@ snapshots:
'@whatwg-node/server@0.9.71':
dependencies:
'@whatwg-node/disposablestack': 0.0.6
'@whatwg-node/fetch': 0.10.6
'@whatwg-node/promise-helpers': 1.3.1
'@whatwg-node/fetch': 0.10.11
'@whatwg-node/promise-helpers': 1.3.2
tslib: 2.8.1
optional: true
@@ -6150,7 +6147,7 @@ snapshots:
autoprefixer@10.4.21(postcss@8.5.6):
dependencies:
browserslist: 4.24.4
caniuse-lite: 1.0.30001713
caniuse-lite: 1.0.30001753
fraction.js: 4.3.7
normalize-range: 0.1.2
picocolors: 1.1.1
@@ -6193,14 +6190,14 @@ snapshots:
browserslist@4.24.4:
dependencies:
caniuse-lite: 1.0.30001713
caniuse-lite: 1.0.30001753
electron-to-chromium: 1.5.137
node-releases: 2.0.19
update-browserslist-db: 1.1.1(browserslist@4.24.4)
browserslist@4.25.2:
dependencies:
caniuse-lite: 1.0.30001735
caniuse-lite: 1.0.30001753
electron-to-chromium: 1.5.202
node-releases: 2.0.19
update-browserslist-db: 1.1.3(browserslist@4.25.2)
@@ -6313,13 +6310,11 @@ snapshots:
caniuse-api@3.0.0:
dependencies:
browserslist: 4.25.2
caniuse-lite: 1.0.30001735
caniuse-lite: 1.0.30001753
lodash.memoize: 4.1.2
lodash.uniq: 4.5.0
caniuse-lite@1.0.30001713: {}
caniuse-lite@1.0.30001735: {}
caniuse-lite@1.0.30001753: {}
chalk@4.1.2:
dependencies:
@@ -6663,7 +6658,7 @@ snapshots:
electron-to-chromium@1.5.202: {}
element-plus@2.11.5(vue@3.5.22(typescript@5.8.3)):
element-plus@2.11.7(vue@3.5.22(typescript@5.8.3)):
dependencies:
'@ctrl/tinycolor': 3.6.1
'@element-plus/icons-vue': 2.3.2(vue@3.5.22(typescript@5.8.3))
@@ -7551,7 +7546,7 @@ snapshots:
netlify@13.3.5:
dependencies:
'@netlify/open-api': 2.37.0
'@netlify/open-api': 2.42.0
lodash-es: 4.17.21
micro-api-client: 3.3.0
node-fetch: 3.3.2
+153 -173
View File
@@ -32,9 +32,9 @@ dependencies = [
[[package]]
name = "aho-corasick"
version = "1.1.3"
version = "1.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301"
dependencies = [
"memchr",
]
@@ -292,7 +292,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -327,7 +327,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -464,7 +464,7 @@ dependencies = [
"proc-macro-crate 3.4.0",
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -642,9 +642,9 @@ dependencies = [
[[package]]
name = "cc"
version = "1.2.41"
version = "1.2.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ac9fe6cdbb24b6ade63616c0a0688e45bb56732262c158df3c0c4bea4ca47cb7"
checksum = "37521ac7aabe3d13122dc382493e20c9416f299d2ccd5b3a5340a2570cdeb0f3"
dependencies = [
"find-msvc-tools",
"jobserver",
@@ -715,18 +715,18 @@ dependencies = [
[[package]]
name = "clap"
version = "4.5.50"
version = "4.5.51"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0c2cfd7bf8a6017ddaa4e32ffe7403d547790db06bd171c1c53926faab501623"
checksum = "4c26d721170e0295f191a69bd9a1f93efcdb0aff38684b61ab5750468972e5f5"
dependencies = [
"clap_builder",
]
[[package]]
name = "clap_builder"
version = "4.5.50"
version = "4.5.51"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0a4c05b9e80c5ccd3a7ef080ad7b6ba7d6fc00a985b8b157197075677c82c7a0"
checksum = "75835f0c7bf681bfd05abe44e965760fea999a5286c6eb2d59883634fd02011a"
dependencies = [
"anstream",
"anstyle",
@@ -953,7 +953,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
dependencies = [
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -963,7 +963,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32a2785755761f3ddc1492979ce1e48d2c00d09311c39e4466429188f3dd6501"
dependencies = [
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -987,7 +987,7 @@ dependencies = [
"proc-macro2",
"quote",
"strsim",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -998,7 +998,7 @@ checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81"
dependencies = [
"darling_core",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -1009,9 +1009,9 @@ checksum = "26bf8fc351c5ed29b5c2f0cbbac1b209b74f60ecd62e675a998df72c49af5204"
[[package]]
name = "deranged"
version = "0.5.4"
version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a41953f86f8a05768a6cda24def994fd2f424b04ec5c719cf89989779f199071"
checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587"
dependencies = [
"powerfmt",
"serde_core",
@@ -1025,7 +1025,7 @@ checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -1038,7 +1038,7 @@ dependencies = [
"proc-macro2",
"quote",
"rustc_version",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -1099,7 +1099,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -1131,7 +1131,7 @@ checksum = "788160fb30de9cdd857af31c6a2675904b16ece8fc2737b2c7127ba368c9d0f4"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -1263,7 +1263,7 @@ checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -1284,9 +1284,9 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
[[package]]
name = "erased-serde"
version = "0.4.8"
version = "0.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "259d404d09818dec19332e31d94558aeb442fea04c817006456c24b5460bbd4b"
checksum = "89e8918065695684b2b0702da20382d5ae6065cf3327bc2d6436bd49a71ce9f3"
dependencies = [
"serde",
"serde_core",
@@ -1353,7 +1353,7 @@ checksum = "a0aca10fb742cb43f9e7bb8467c91aa9bcb8e3ffbc6a6f7389bb93ffc920577d"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -1398,9 +1398,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
[[package]]
name = "flate2"
version = "1.1.4"
version = "1.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc5a4e564e38c699f2880d3fda590bedc2e69f3f84cd48b457bd892ce61d0aa9"
checksum = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb"
dependencies = [
"crc32fast",
"miniz_oxide",
@@ -1445,7 +1445,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -1538,7 +1538,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -1800,7 +1800,7 @@ dependencies = [
"proc-macro-error",
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -1879,7 +1879,7 @@ dependencies = [
"proc-macro-error",
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -2145,9 +2145,9 @@ dependencies = [
[[package]]
name = "icu_collections"
version = "2.0.0"
version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47"
checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43"
dependencies = [
"displaydoc",
"potential_utf",
@@ -2158,9 +2158,9 @@ dependencies = [
[[package]]
name = "icu_locale_core"
version = "2.0.0"
version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a"
checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6"
dependencies = [
"displaydoc",
"litemap",
@@ -2171,11 +2171,10 @@ dependencies = [
[[package]]
name = "icu_normalizer"
version = "2.0.0"
version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979"
checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599"
dependencies = [
"displaydoc",
"icu_collections",
"icu_normalizer_data",
"icu_properties",
@@ -2186,42 +2185,38 @@ dependencies = [
[[package]]
name = "icu_normalizer_data"
version = "2.0.0"
version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3"
checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a"
[[package]]
name = "icu_properties"
version = "2.0.1"
version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b"
checksum = "e93fcd3157766c0c8da2f8cff6ce651a31f0810eaa1c51ec363ef790bbb5fb99"
dependencies = [
"displaydoc",
"icu_collections",
"icu_locale_core",
"icu_properties_data",
"icu_provider",
"potential_utf",
"zerotrie",
"zerovec",
]
[[package]]
name = "icu_properties_data"
version = "2.0.1"
version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632"
checksum = "02845b3647bb045f1100ecd6480ff52f34c35f82d9880e029d329c21d1054899"
[[package]]
name = "icu_provider"
version = "2.0.0"
version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af"
checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614"
dependencies = [
"displaydoc",
"icu_locale_core",
"stable_deref_trait",
"tinystr",
"writeable",
"yoke",
"zerofrom",
@@ -2319,9 +2314,9 @@ checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130"
[[package]]
name = "iri-string"
version = "0.7.8"
version = "0.7.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2"
checksum = "4f867b9d1d896b67beb18518eda36fdb77a32ea590de864f1325b294a6d14397"
dependencies = [
"memchr",
"serde",
@@ -2415,9 +2410,9 @@ dependencies = [
[[package]]
name = "js-sys"
version = "0.3.81"
version = "0.3.82"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec48937a97411dcb524a265206ccd4c90bb711fca92b2792c407f268825b9305"
checksum = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65"
dependencies = [
"once_cell",
"wasm-bindgen",
@@ -2549,9 +2544,9 @@ checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039"
[[package]]
name = "litemap"
version = "0.8.0"
version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956"
checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77"
[[package]]
name = "lock_api"
@@ -2620,7 +2615,7 @@ checksum = "88a9689d8d44bf9964484516275f5cd4c9b59457a6940c1d5d0ecbb94510a36b"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -2679,9 +2674,9 @@ dependencies = [
[[package]]
name = "moxcms"
version = "0.7.7"
version = "0.7.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c588e11a3082784af229e23e8e4ecf5bcc6fbe4f69101e0421ce8d79da7f0b40"
checksum = "0fbdd3d7436f8b5e892b8b7ea114271ff0fa00bc5acae845d53b07d498616ef6"
dependencies = [
"num-traits",
"pxfm",
@@ -2833,7 +2828,7 @@ dependencies = [
"proc-macro-crate 3.4.0",
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -3156,7 +3151,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -3393,7 +3388,7 @@ dependencies = [
"phf_shared 0.11.3",
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -3507,9 +3502,9 @@ dependencies = [
[[package]]
name = "potential_utf"
version = "0.1.3"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a"
checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77"
dependencies = [
"zerovec",
]
@@ -3658,9 +3653,9 @@ dependencies = [
[[package]]
name = "quote"
version = "1.0.41"
version = "1.0.42"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ce25767e7b499d1b604768e7cde645d14cc8584231ea6b295e9c9eb22c02e1d1"
checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f"
dependencies = [
"proc-macro2",
]
@@ -3850,7 +3845,7 @@ checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -4055,9 +4050,9 @@ dependencies = [
[[package]]
name = "rustls"
version = "0.23.34"
version = "0.23.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a9586e9ee2b4f8fab52a0048ca7334d7024eef48e2cb9407e3497bb7cab7fa7"
checksum = "533f54bc6a7d4f647e46ad909549eda97bf5afc1585190ef692b4286b198bd8f"
dependencies = [
"once_cell",
"rustls-pki-types",
@@ -4068,18 +4063,18 @@ dependencies = [
[[package]]
name = "rustls-pki-types"
version = "1.12.0"
version = "1.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79"
checksum = "94182ad936a0c91c324cd46c6511b9510ed16af436d7b5bab34beab0afd55f7a"
dependencies = [
"zeroize",
]
[[package]]
name = "rustls-webpki"
version = "0.103.7"
version = "0.103.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e10b3f4191e8a80e6b43eebabfac91e5dcecebb27a71f04e820c47ec41d314bf"
checksum = "2ffdfa2f5286e2247234e03f680868ac2815974dc39e00ea15adc445d0aafe52"
dependencies = [
"ring",
"rustls-pki-types",
@@ -4145,9 +4140,9 @@ dependencies = [
[[package]]
name = "schemars"
version = "1.0.4"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0"
checksum = "9558e172d4e8533736ba97870c4b2cd63f84b382a3d6eb063da41b91cce17289"
dependencies = [
"dyn-clone",
"ref-cast",
@@ -4164,7 +4159,7 @@ dependencies = [
"proc-macro2",
"quote",
"serde_derive_internals",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -4275,7 +4270,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -4286,7 +4281,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -4310,7 +4305,7 @@ checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -4355,7 +4350,7 @@ dependencies = [
"indexmap 1.9.3",
"indexmap 2.12.0",
"schemars 0.9.0",
"schemars 1.0.4",
"schemars 1.1.0",
"serde_core",
"serde_json",
"serde_with_macros",
@@ -4371,7 +4366,7 @@ dependencies = [
"darling",
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -4393,7 +4388,7 @@ checksum = "772ee033c0916d670af7860b6e1ef7d658a4629a6d0b4c8c3e67f09b3765b75d"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -4642,9 +4637,9 @@ dependencies = [
[[package]]
name = "syn"
version = "2.0.108"
version = "2.0.109"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da58917d35242480a05c2897064da0a80589a2a0476c9a3f2fdc83b53502e917"
checksum = "2f17c7e013e88258aa9543dcbe81aca68a667a9ac37cd69c9fbc07858bfe0e2f"
dependencies = [
"proc-macro2",
"quote",
@@ -4668,7 +4663,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -4767,7 +4762,7 @@ checksum = "f4e16beb8b2ac17db28eab8bca40e62dbfbb34c0fcdc6d9826b11b7b5d047dfd"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -4784,9 +4779,9 @@ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1"
[[package]]
name = "tauri"
version = "2.9.1"
version = "2.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c9871670c6711f50fddd4e20350be6b9dd6e6c2b5d77d8ee8900eb0d58cd837a"
checksum = "8bceb52453e507c505b330afe3398510e87f428ea42b6e76ecb6bd63b15965b5"
dependencies = [
"anyhow",
"bytes",
@@ -4875,7 +4870,7 @@ dependencies = [
"serde",
"serde_json",
"sha2",
"syn 2.0.108",
"syn 2.0.109",
"tauri-utils",
"thiserror 2.0.17",
"time",
@@ -4893,7 +4888,7 @@ dependencies = [
"heck 0.5.0",
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
"tauri-codegen",
"tauri-utils",
]
@@ -4917,9 +4912,9 @@ dependencies = [
[[package]]
name = "tauri-plugin-cli"
version = "2.4.0"
version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "53e76101cc9848adfb6a04aae48a389062be457a785bb4349ae1423ddab5a82d"
checksum = "28e78fb2c09a81546bcd376d34db4bda5769270d00990daa9f0d6e7ac1107e25"
dependencies = [
"clap",
"log",
@@ -4932,9 +4927,9 @@ dependencies = [
[[package]]
name = "tauri-plugin-clipboard-manager"
version = "2.3.0"
version = "2.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "adddd9e9275b20e77af3061d100a25a884cced3c4c9ef680bd94dd0f7e26c1ca"
checksum = "206dc20af4ed210748ba945c2774e60fd0acd52b9a73a028402caf809e9b6ecf"
dependencies = [
"arboard",
"log",
@@ -4947,9 +4942,9 @@ dependencies = [
[[package]]
name = "tauri-plugin-dialog"
version = "2.4.0"
version = "2.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0beee42a4002bc695550599b011728d9dfabf82f767f134754ed6655e434824e"
checksum = "313f8138692ddc4a2127c4c9607d616a46f5c042e77b3722450866da0aad2f19"
dependencies = [
"log",
"raw-window-handle",
@@ -4965,9 +4960,9 @@ dependencies = [
[[package]]
name = "tauri-plugin-fs"
version = "2.4.2"
version = "2.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "315784ec4be45e90a987687bae7235e6be3d6e9e350d2b75c16b8a4bf22c1db7"
checksum = "47df422695255ecbe7bac7012440eddaeefd026656171eac9559f5243d3230d9"
dependencies = [
"anyhow",
"dunce",
@@ -4987,9 +4982,9 @@ dependencies = [
[[package]]
name = "tauri-plugin-log"
version = "2.7.0"
version = "2.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "61c1438bc7662acd16d508c919b3c087efd63669a4c75625dff829b1c75975ec"
checksum = "d5709c792b8630290b5d9811a1f8fe983dd925fc87c7fc7f4923616458cd00b6"
dependencies = [
"android_logger",
"byte-unit",
@@ -5009,9 +5004,9 @@ dependencies = [
[[package]]
name = "tauri-plugin-shell"
version = "2.3.1"
version = "2.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "54777d0c0d8add34eea3ced84378619ef5b97996bd967d3038c668feefd21071"
checksum = "c374b6db45f2a8a304f0273a15080d98c70cde86178855fc24653ba657a1144c"
dependencies = [
"encoding_rs",
"log",
@@ -5030,9 +5025,9 @@ dependencies = [
[[package]]
name = "tauri-plugin-single-instance"
version = "2.3.4"
version = "2.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fb9cac815bf11c4a80fb498666bcdad66d65b89e3ae24669e47806febb76389c"
checksum = "dd707f8c86b4e3004e2c141fa24351f1909ba40ce1b8437e30d5ed5277dd3710"
dependencies = [
"serde",
"serde_json",
@@ -5045,9 +5040,9 @@ dependencies = [
[[package]]
name = "tauri-plugin-window-state"
version = "2.4.0"
version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2d5f6fe3291bfa609c7e0b0ee3bedac294d94c7018934086ce782c1d0f2a468e"
checksum = "73736611e14142408d15353e21e3cca2f12a3cfb523ad0ce85999b6d2ef1a704"
dependencies = [
"bitflags 2.10.0",
"log",
@@ -5208,7 +5203,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -5219,7 +5214,7 @@ checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -5276,9 +5271,9 @@ dependencies = [
[[package]]
name = "tinystr"
version = "0.8.1"
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b"
checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869"
dependencies = [
"displaydoc",
"zerovec",
@@ -5337,9 +5332,9 @@ dependencies = [
[[package]]
name = "tokio-util"
version = "0.7.16"
version = "0.7.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5"
checksum = "2efa149fe76073d6e8fd97ef4f4eca7b67f599660115591483572e406e165594"
dependencies = [
"bytes",
"futures-core",
@@ -5508,7 +5503,7 @@ checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -5626,9 +5621,9 @@ dependencies = [
[[package]]
name = "unicode-ident"
version = "1.0.20"
version = "1.0.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "462eeb75aeb73aea900253ce739c8e18a67423fadf006037cd3ff27e82748a06"
checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5"
[[package]]
name = "unicode-segmentation"
@@ -5716,9 +5711,9 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
[[package]]
name = "version-compare"
version = "0.2.0"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b"
checksum = "03c2856837ef78f57382f06b2b8563a2f512f7185d732608fd9176cb3b8edf0e"
[[package]]
name = "version_check"
@@ -5794,9 +5789,9 @@ checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b"
[[package]]
name = "wasm-bindgen"
version = "0.2.104"
version = "0.2.105"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c1da10c01ae9f1ae40cbfac0bac3b1e724b320abfcf52229f80b547c0d250e2d"
checksum = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60"
dependencies = [
"cfg-if",
"once_cell",
@@ -5805,25 +5800,11 @@ dependencies = [
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-backend"
version = "0.2.104"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "671c9a5a66f49d8a47345ab942e2cb93c7d1d0339065d4f8139c486121b43b19"
dependencies = [
"bumpalo",
"log",
"proc-macro2",
"quote",
"syn 2.0.108",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-futures"
version = "0.4.54"
version = "0.4.55"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7e038d41e478cc73bae0ff9b36c60cff1c98b8f38f8d7e8061e79ee63608ac5c"
checksum = "551f88106c6d5e7ccc7cd9a16f312dd3b5d36ea8b4954304657d5dfba115d4a0"
dependencies = [
"cfg-if",
"js-sys",
@@ -5834,9 +5815,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
version = "0.2.104"
version = "0.2.105"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ca60477e4c59f5f2986c50191cd972e3a50d8a95603bc9434501cf156a9a119"
checksum = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@@ -5844,22 +5825,22 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
version = "0.2.104"
version = "0.2.105"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f07d2f20d4da7b26400c9f4a0511e6e0345b040694e8a75bd41d578fa4421d7"
checksum = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc"
dependencies = [
"bumpalo",
"proc-macro2",
"quote",
"syn 2.0.108",
"wasm-bindgen-backend",
"syn 2.0.109",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-shared"
version = "0.2.104"
version = "0.2.105"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bad67dc8b2a1a6e5448428adec4c3e84c43e561d8c9ee8a9e5aabeb193ec41d1"
checksum = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76"
dependencies = [
"unicode-ident",
]
@@ -5952,9 +5933,9 @@ dependencies = [
[[package]]
name = "web-sys"
version = "0.3.81"
version = "0.3.82"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9367c417a924a74cae129e6a2ae3b47fabb1f8995595ab474029da749a8be120"
checksum = "3a1f95c0d03a47f4ae1f7a64643a6bb97465d9b740f0fa8f90ea33915c99a9a1"
dependencies = [
"js-sys",
"wasm-bindgen",
@@ -6026,7 +6007,7 @@ checksum = "1d228f15bba3b9d56dde8bddbee66fa24545bd17b48d5128ccf4a8742b18e431"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -6192,7 +6173,7 @@ checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -6203,7 +6184,7 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -6214,7 +6195,7 @@ checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -6225,7 +6206,7 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -6610,9 +6591,9 @@ dependencies = [
[[package]]
name = "writeable"
version = "0.6.1"
version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb"
checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9"
[[package]]
name = "wry"
@@ -6717,11 +6698,10 @@ dependencies = [
[[package]]
name = "yoke"
version = "0.8.0"
version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc"
checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954"
dependencies = [
"serde",
"stable_deref_trait",
"yoke-derive",
"zerofrom",
@@ -6729,13 +6709,13 @@ dependencies = [
[[package]]
name = "yoke-derive"
version = "0.8.0"
version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6"
checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
"synstructure",
]
@@ -6783,7 +6763,7 @@ dependencies = [
"proc-macro-crate 3.4.0",
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
"zbus_names",
"zvariant",
"zvariant_utils",
@@ -6818,7 +6798,7 @@ checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -6838,7 +6818,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
"synstructure",
]
@@ -6859,14 +6839,14 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
name = "zerotrie"
version = "0.2.2"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595"
checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851"
dependencies = [
"displaydoc",
"yoke",
@@ -6875,9 +6855,9 @@ dependencies = [
[[package]]
name = "zerovec"
version = "0.11.4"
version = "0.11.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b"
checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002"
dependencies = [
"yoke",
"zerofrom",
@@ -6886,13 +6866,13 @@ dependencies = [
[[package]]
name = "zerovec-derive"
version = "0.11.1"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f"
checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
]
[[package]]
@@ -6927,9 +6907,9 @@ dependencies = [
[[package]]
name = "zopfli"
version = "0.8.2"
version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "edfc5ee405f504cd4984ecc6f14d02d55cfda60fa4b689434ef4102aae150cd7"
checksum = "f05cd8797d63865425ff89b5c4a48804f35ba0ce8d125800027ad6017d2b5249"
dependencies = [
"bumpalo",
"crc32fast",
@@ -7004,7 +6984,7 @@ dependencies = [
"proc-macro-crate 3.4.0",
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.109",
"zvariant_utils",
]
@@ -7017,6 +6997,6 @@ dependencies = [
"proc-macro2",
"quote",
"serde",
"syn 2.0.108",
"syn 2.0.109",
"winnow 0.7.13",
]
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "easytier-game"
version = "1.5.1"
version = "1.5.2"
homepage = "https://github.com/EasyTier/EasyTier"
repository = "https://github.com/EasyTier/EasytierGame"
description = "A simple network initiator based on Easytier"
+1 -1
View File
@@ -2,7 +2,7 @@
"$schema": "../gen/schemas/desktop-schema.json",
"identifier": "default",
"description": "enables the default permissions",
"windows": ["main", "log", "member", "cidr", "advance", "tool", "server", "gameList", "storage-listener"],
"windows": ["main", "log", "member", "nodesList", "cidr", "advance", "tool", "server", "gameList", "storage-listener"],
"permissions": [
"core:default",
"core:window:allow-minimize",
+7 -1
View File
@@ -14,7 +14,13 @@
"networkName": "", //房间名
"networkPassword": "", //房间密码
"hostname": "", //主机名
"ipv4": "", // 虚拟IP地址
"ipv4": "", // 虚拟IPv4地址
"ipv6": "", // 虚拟IPv6地址
"tcpWhitelistEnable": false, // 启用TCP白名单
"udpWhitelistEnable": false, // 启用UDP白名单
"tcpWhitelist": "", // TCP端口白名单,格式为 "80" 或者 范围 "8000-9000"
"udpWhitelist": "", // UDP端口白名单,格式为 "53" 或者 范围 "5000-6000"
"connectAfterStart": false, // 启动后自动连接
"disableIpv6": false, // 禁用ipv6
"disbleListenner": false, // 禁用监听
"disableEncryption": false, // 禁用加密
+29
View File
@@ -299,6 +299,34 @@ async fn get_members_by_cli() -> String {
}
}
#[tauri::command(rename_all = "snake_case")]
async fn get_members_proxy() -> String {
let cli_path = get_tool_exe_path("\\easytier\\easytier-cli.exe");
match tokioCommand::new(&cli_path)
.arg("-o")
.arg("json")
.arg("proxy")
.creation_flags(0x08000000)
.output()
.await
{
Ok(output) => {
if output.status.success() {
let output_str = String::from_utf8_lossy(&output.stdout);
return output_str.trim().to_string();
} else {
let output_str = String::from_utf8_lossy(&output.stderr);
log::error!("{}", output_str.trim().to_string());
return "_EasytierGameCliFailedToGetProxy_".to_string();
}
}
Err(_e) => {
log::error!("get member list error");
return "".to_string();
}
}
}
#[tauri::command(rename_all = "snake_case")]
async fn get_members_connections_cli() -> String {
let cli_path = get_tool_exe_path("\\easytier\\easytier-cli.exe");
@@ -960,6 +988,7 @@ pub fn run() {
download_easytier_zip,
get_members_by_cli,
get_members_connections_cli,
get_members_proxy,
get_route_by_cli,
fetch_nodes_list,
search_pid_by_pname,
+6 -4
View File
@@ -1,7 +1,7 @@
{
"$schema": "../node_modules/@tauri-apps/cli/config.schema.json",
"productName": "easytier-game",
"version": "1.5.1",
"version": "1.5.2",
"identifier": "com.tauri.easytier-game",
"build": {
@@ -12,7 +12,7 @@
"app": {
"windows": [
{
"title": "easytier-game 1.5.1",
"title": "easytier-game 1.5.2",
"label": "main",
"minWidth": 340,
"width": 340,
@@ -49,7 +49,7 @@
}
},
"bundle": {
"active": true,
"active": false,
"targets": "all",
"resources": [
"easytier/config/",
@@ -72,7 +72,9 @@
"windows": {
"webviewInstallMode": {
"type": "embedBootstrapper"
}
},
"wix": null,
"nsis": null
},
"createUpdaterArtifacts": false,
"icon": ["icons/icon.png", "icons/icon.rgba", "icons/icon.icns", "icons/icon.ico"]
+23 -2
View File
@@ -3,10 +3,11 @@ import { writeText } from "@tauri-apps/plugin-clipboard-manager";
import { open } from "@tauri-apps/plugin-shell";
import { ElMessage } from "element-plus";
import { flatMap, map } from "lodash-es";
import { customRef, ref } from "vue";
export const ENV = import.meta.env;
export const mixedArray = (a: Array<string>, b: Array<string>, split:string="") => {
export const mixedArray = (a: Array<string>, b: Array<string>, split: string = "") => {
return flatMap(a, protocol => map(b, port => `${protocol}${split}${port}`));
};
@@ -21,6 +22,26 @@ export const bounce = (time = 3000) => {
};
};
export const inputBounceRef = (value: string, cb?: Function, delay = 650) => {
let timeout: number | null = null;
return customRef((track, trigger) => {
return {
get() {
track();
return value;
},
set(newValue) {
value = newValue;
trigger();
timeout && clearTimeout(timeout);
timeout = setTimeout(() => {
cb?.(newValue);
}, delay);
}
};
});
};
/**
*
* @param {number} size byte number
@@ -73,7 +94,7 @@ export const ATJ = (promise: Promise<any>, errorExt: string | undefined = undefi
});
};
const _supportProtocols = ["tcp", "udp", "ws", "wss", 'srv', 'schema'];
const _supportProtocols = ["tcp", "udp", "ws", "wss", "srv", "schema"];
export const supportProtocols = () => {
return _supportProtocols.slice();