Compare commits

...
4 Commits
Author SHA1 Message Date
leizi97 f3fc37957c 增加子网代理和部分高级配置功能 升级tauri到2.0.6 2024-10-23 21:58:36 +08:00
黑先森 a4d6fe6e95 封装二级弹窗方法,新增子网代理和高级配置按钮,新增子网代理页面 2024-10-23 18:37:11 +08:00
黑先森 9b883d686d 优化界面css,增加部分页面autostart权限
-- 更新 element-plus 2.7.1 -> 2.8.6 并修复升级后的问题
-- 升级autostart插件为2.0.1 win10测试开机自启成功
2024-10-22 19:09:45 +08:00
黑先森 2ac0afb847 插件版本更新,rust打包使用1.77.2,支持win7 2024-10-21 10:51:16 +08:00
17 changed files with 524 additions and 677 deletions
-14
View File
@@ -27,17 +27,3 @@ body {
box-sizing: border-box; box-sizing: border-box;
padding: 3px 5px; padding: 3px 5px;
} }
::-webkit-scrollbar {
width: 6px;
}
::-webkit-scrollbar-thumb {
background-color: #0003;
border-radius: 10px;
transition: all 0.2s ease-in-out;
}
::-webkit-scrollbar-track {
border-radius: 10px;
}
+53
View File
@@ -0,0 +1,53 @@
import { type UnlistenFn } from "@tauri-apps/api/event";
import { getCurrentWindow, PhysicalPosition, type WindowOptions, Window } from "@tauri-apps/api/window";
import { WebviewWindow } from "@tauri-apps/api/webviewWindow";
import type { WebviewLabel, WebviewOptions, } from "@tauri-apps/api/webview";
export default async (
label: WebviewLabel,
options?: Omit<WebviewOptions, "x" | "y" | "width" | "height"> & WindowOptions,
afterCreatedFunc?: (webviewWindow: WebviewWindow, appWindow: Window) => void | null,
beforeCloseFunc?: () => void | null
) => {
let defaultOpts = {
parent: undefined,
closable: true,
resizable: true,
decorations: true,
maximizable: false,
minimizable: false,
x: 0,
y: 0
};
const appWindow = getCurrentWindow();
if (appWindow) {
const appSize = await appWindow.outerSize();
const factor = await appWindow.scaleFactor();
const appPosition = await appWindow.outerPosition();
const logicalPosition = new PhysicalPosition(appPosition.x + appSize.width, appPosition.y).toLogical(factor);
defaultOpts.parent = appWindow as any;
defaultOpts.x = logicalPosition.x;
defaultOpts.y = logicalPosition.y;
}
let unListenlogClose: UnlistenFn | null = null;
let unlistenLogCreated: UnlistenFn | null = null;
let dialog = await WebviewWindow.getByLabel(label);
if (!dialog) {
dialog = new WebviewWindow(label, {...defaultOpts, ...options});
unlistenLogCreated = await dialog.once("tauri://webview-created", async () => {
if (dialog) {
afterCreatedFunc && (await afterCreatedFunc(dialog, appWindow));
await dialog.show();
}
});
unListenlogClose = await dialog.onCloseRequested(async () => {
beforeCloseFunc && (await beforeCloseFunc());
unListenlogClose && (await unListenlogClose());
});
} else {
const visible = await dialog.isVisible();
if (visible) {
await dialog.close();
unlistenLogCreated && (await (unlistenLogCreated as Function)());
}
}
};
+1 -1
View File
@@ -5,6 +5,6 @@
<script setup lang="tsx"> <script setup lang="tsx">
//屏蔽右键菜单 //屏蔽右键菜单
document.addEventListener("contextmenu", (e: MouseEvent) => { document.addEventListener("contextmenu", (e: MouseEvent) => {
e.preventDefault(); // e.preventDefault();
}); });
</script> </script>
+2 -3
View File
@@ -3,7 +3,7 @@
"private": true, "private": true,
"author": "leizi97", "author": "leizi97",
"description": "A simple network initiator based on Easytier", "description": "A simple network initiator based on Easytier",
"version": "1.0.6", "version": "1.0.7",
"scripts": { "scripts": {
"dev": "nuxt dev --dotenv env/.env.dev --host 0.0.0.0", "dev": "nuxt dev --dotenv env/.env.dev --host 0.0.0.0",
"build": "nuxt generate --dotenv env/.env.prod" "build": "nuxt generate --dotenv env/.env.prod"
@@ -25,8 +25,7 @@
"@vitejs/plugin-vue-jsx": "^3.1.0", "@vitejs/plugin-vue-jsx": "^3.1.0",
"dayjs": "^1.11.10", "dayjs": "^1.11.10",
"defu": "^6.1.4", "defu": "^6.1.4",
"element-plus": "^2.7.1", "element-plus": "^2.8.6",
"javascript-obfuscator": "^4.1.0",
"less": "^4.2.0", "less": "^4.2.0",
"lodash-es": "^4.17.21", "lodash-es": "^4.17.21",
"nuxt": "^3.11.2", "nuxt": "^3.11.2",
+28
View File
@@ -0,0 +1,28 @@
<template>
<div class="h-full overflow-auto flex flex-col items-start px-[25px]">
<div>
<ElCheckbox v-model="mainStore.config.disableIpv6">不使用IPv6</ElCheckbox>
</div>
<div><ElCheckbox v-model="mainStore.config.disbleListenner">不监听任何端口只连接到对等节点</ElCheckbox></div>
<div><ElCheckbox v-model="mainStore.config.enablExitNode">允许此节点成为出口节点</ElCheckbox></div>
<div><ElCheckbox v-model="mainStore.config.disableEncryption">禁用对等节点通信的加密默认为false必须与对等节点相同</ElCheckbox></div>
<div><ElCheckbox v-model="mainStore.config.multiThread">使用多线程运行时默认为单线程</ElCheckbox></div>
<div><ElCheckbox v-model="mainStore.config.noTun">不创建TUN设备可以使用子网代理访问节点</ElCheckbox></div>
<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>
</div>
</template>
<script setup lang="ts">
import useMainStore from "@/stores/index";
import { getCurrentWindow } from "@tauri-apps/api/window";
const mainStore = useMainStore();
const appWindow = getCurrentWindow();
mainStore.$subscribe((...a) => {
// console.log("subscribe", a);
appWindow.emitTo("main", "config", { config: { ...mainStore.config } });
});
</script>
+25
View File
@@ -0,0 +1,25 @@
<template>
<div class="h-full flex flex-col gap-[10px]">
<ElRadioGroup v-model="mainStore.cidrEnable">
<ElRadioButton :value="true">开启</ElRadioButton>
<ElRadioButton :value="false">关闭</ElRadioButton>
</ElRadioGroup>
<div class="flex-1 overflow-auto">
<ElInput
placeholder="例如: 192.168.1.0/24 一行一个"
v-model="mainStore.config.proxyNetworks"
type="textarea"
:rows="30"
resize="none"></ElInput>
</div>
</div>
</template>
<script setup lang="ts">
import useMainStore from "@/stores/index";
import { getCurrentWindow } from "@tauri-apps/api/window";
const mainStore = useMainStore();
const appWindow = getCurrentWindow();
mainStore.$subscribe((...a) => {
appWindow.emitTo("main", "config", { cidrEnable: mainStore.cidrEnable, config: { ...mainStore.config } });
});
</script>
+186 -162
View File
@@ -2,32 +2,27 @@
<ElForm <ElForm
size="small" size="small"
label-position="top" label-position="top"
:model="config" :model="config">
>
<ElFormItem <ElFormItem
label="服务器" label="服务器"
prop="serverUrl" prop="serverUrl">
>
<template #label> <template #label>
<div class="flex items-center gap-[0_5px]"> <div class="flex items-center gap-[0_5px]">
<div>服务器</div> <div>服务器</div>
<span>-</span> <span>-</span>
<ElTag <ElTag
effect="dark" effect="dark"
:type="data.isSuccessGetIp ? 'success' : 'info'" :type="data.isSuccessGetIp ? 'success' : 'info'">
> {{ data.isSuccessGetIp ? "联机成功" : data.isStart && !data.isSuccessGetIp ? "联机中" : "未联机" }}
{{ data.isSuccessGetIp ? "联机成功" : "联机中" }}
</ElTag> </ElTag>
<ElButton <ElButton
v-if="!data.coreVersion" v-if="!data.coreVersion"
@click="getCoreVersion(true)" @click="getCoreVersion(true)">
>
获取工具版本 获取工具版本
</ElButton> </ElButton>
<ElTag <ElTag
v-else v-else
type="info" type="info">
>
core-{{ data.coreVersion }} core-{{ data.coreVersion }}
</ElTag> </ElTag>
<ElButton <ElButton
@@ -35,8 +30,7 @@
:loading="data.update" :loading="data.update"
type="warning" type="warning"
@click="handleUpdateCore" @click="handleUpdateCore"
size="small" size="small">
>
{{ data.coreVersion ? "更新" : "下载" }} {{ data.coreVersion ? "更新" : "下载" }}
</ElButton> </ElButton>
</div> </div>
@@ -46,23 +40,21 @@
filterable filterable
default-first-option default-first-option
v-model="config.serverUrl" v-model="config.serverUrl"
@change="handleServerUrlChange" @change="handleServerUrlChange">
>
<template #prefix> <template #prefix>
<div :class="config.protocol && config.protocol.length > 1 ? 'w-[120px]' : 'w-[80px]'"> <div :class="config.protocol && config.protocol.length > 1 ? 'w-[120px]' : 'w-[80px]'">
<ElSelect <ElSelect
placeholder="协议" placeholder="协议"
multiple multiple
collapse-tags collapse-tags
@click.stop
v-model="config.protocol" v-model="config.protocol"
@change="handleServerUrlChange" @change="handleServerUrlChange">
>
<ElOption <ElOption
v-for="item in protocols" v-for="item in protocols"
:key="item" :key="item"
:label="item" :label="item"
:value="item" :value="item"></ElOption>
></ElOption>
</ElSelect> </ElSelect>
</div> </div>
</template> </template>
@@ -70,16 +62,14 @@
v-for="item in mainStore.basePeers" v-for="item in mainStore.basePeers"
:key="item" :key="item"
:label="item" :label="item"
:value="item" :value="item">
>
<div class="flex items-center justify-between"> <div class="flex items-center justify-between">
<span style="float: left">{{ item }}</span> <span style="float: left">{{ item }}</span>
<ElButton <ElButton
@click.stop="handleDeleteServerUrl(item)" @click.stop="handleDeleteServerUrl(item)"
round round
:icon="Delete" :icon="Delete"
type="danger" type="danger"></ElButton>
></ElButton>
</div> </div>
</ElOption> </ElOption>
</ElSelect> </ElSelect>
@@ -98,8 +88,7 @@
<ElInput <ElInput
maxlength="100" maxlength="100"
placeholder="请输入网络名" placeholder="请输入网络名"
v-model="config.networkName" v-model="config.networkName"></ElInput>
></ElInput>
</ElFormItem> </ElFormItem>
</div> </div>
<div class="flex-1"> <div class="flex-1">
@@ -117,8 +106,7 @@
maxlength="100" maxlength="100"
placeholder="请输入网络密码" placeholder="请输入网络密码"
v-model="config.networkPassword" v-model="config.networkPassword"
type="password" type="password"></ElInput>
></ElInput>
</ElFormItem> </ElFormItem>
</div> </div>
</div> </div>
@@ -135,13 +123,11 @@
<ElInput <ElInput
maxlength="100" maxlength="100"
placeholder="例如: Player1" placeholder="例如: Player1"
v-model="config.hostname" v-model="config.hostname"></ElInput>
></ElInput>
</ElFormItem> </ElFormItem>
<ElFormItem <ElFormItem
class="w-[70%]" class="w-[70%]"
label="局域网IP" label="局域网IP">
>
<template #label> <template #label>
<div class="flex items-center h-[20px]"> <div class="flex items-center h-[20px]">
虚拟网IP 虚拟网IP
@@ -154,16 +140,14 @@
inline-prompt inline-prompt
inactive-text="固定IP" inactive-text="固定IP"
active-text="动态获取IP" active-text="动态获取IP"
size="small" size="small"></ElSwitch>
></ElSwitch>
</div> </div>
</template> </template>
<ElInput <ElInput
maxlength="100" maxlength="100"
:disabled="config.dhcp" :disabled="config.dhcp"
:placeholder="data.isStart ? '等待动态分配IP...' : '例如: 10.126.126.1'" :placeholder="data.isStart ? '等待动态分配IP...' : '例如: 10.126.126.1'"
v-model="config.ipv4" v-model="config.ipv4"></ElInput>
></ElInput>
</ElFormItem> </ElFormItem>
</div> </div>
<div class="flex items-start gap-[0_30px]"> <div class="flex items-start gap-[0_30px]">
@@ -173,72 +157,78 @@
:type="!data.isStart ? 'primary' : 'danger'" :type="!data.isStart ? 'primary' : 'danger'"
:disabled="data.startLoading || !data.coreVersion || data.update" :disabled="data.startLoading || !data.coreVersion || data.update"
@click="handleConnection" @click="handleConnection"
size="default" size="default">
>
{{ !data.isStart ? "启动联机" : "停止联机" }} {{ !data.isStart ? "启动联机" : "停止联机" }}
</ElButton> </ElButton>
</div> </div>
<div class="mt-[6px]"> <div class="mt-[6px] pl-[2px]">
<!-- <ElButtonGroup> -->
<ElTooltip <ElTooltip
placement="right" placement="left"
:content="data.logVisible ? '关闭日志' : '打开日志'" content="日志">
>
<ElButton <ElButton
:type="!data.logVisible ? 'info' : 'warning'" :type="!data.logVisible ? 'info' : 'warning'"
@click="handleShowLogDialog" @click="handleShowLogDialog"
:icon="List" :icon="List"
size="small" size="small"
plain plain></ElButton>
></ElButton>
</ElTooltip> </ElTooltip>
<ElTooltip <ElTooltip
placement="left" placement="left"
content="成员信息" content="成员">
>
<ElButton <ElButton
@click="handleShowMemberDialog" @click="handleShowMemberDialog"
:icon="UserFilled" :icon="UserFilled"
plain plain
type="success" type="success"
size="small" size="small"></ElButton>
></ElButton>
</ElTooltip> </ElTooltip>
<!-- </ElButtonGroup> -->
</div> </div>
</div> </div>
<div> <div>
<ElCheckbox <ElCheckbox
v-model="config.disbleP2p" v-model="config.disbleP2p"
size="small" size="small">
> 强制中转
禁用p2p
</ElCheckbox> </ElCheckbox>
<ElCheckbox <!-- <ElCheckbox
v-model="config.disableIpv6" v-model="config.disableIpv6"
size="small" size="small"
> >
禁用ipv6 禁用ipv6
</ElCheckbox> </ElCheckbox> -->
<ElCheckbox <ElCheckbox
@change="handleAutoStart" @change="handleAutoStart"
:model-value="config.autoStart" :model-value="config.autoStart"
size="small" size="small">
>
开机自启 开机自启
</ElCheckbox> </ElCheckbox>
<ElCheckbox <!-- <ElCheckbox
v-model="config.disbleListenner" v-model="config.disbleListenner"
size="small" size="small"
> >
禁用端口监听 禁用端口监听
</ElCheckbox> </ElCheckbox> -->
<div>
<ElButton
@click="handleShowCidrDialog"
:icon="Share"
>子网代理</ElButton
>
<ElButton
@click="handleShowAdvanceDialog"
:icon="Setting"
>高级选项</ElButton
>
</div>
<div class="flex items-center gap-[0_5px]"> <div class="flex items-center gap-[0_5px]">
<div> <div>
<ElLink <ElLink
class="!text-[11px]" class="!text-[11px]"
type="info" type="info"
:underline="false" :underline="false"
@click="open('https://github.com/dechamps/WinIPBroadcast/releases/tag/winipbroadcast-1.6')" @click="open('https://github.com/dechamps/WinIPBroadcast/releases/tag/winipbroadcast-1.6')">
>
WinIPBroadcast WinIPBroadcast
<ElTooltip content="找不到游戏房间时,就开启它后再刷新尝试(默认开启)"> <ElTooltip content="找不到游戏房间时,就开启它后再刷新尝试(默认开启)">
<ElIcon class="ml-[3px]"><QuestionFilled /></ElIcon> <ElIcon class="ml-[3px]"><QuestionFilled /></ElIcon>
@@ -251,15 +241,13 @@
size="small" size="small"
label="WinIPBroadcast" label="WinIPBroadcast"
active-text="开启" active-text="开启"
inactive-text="关闭" inactive-text="关闭"></ElSwitch>
></ElSwitch>
</div> </div>
<ElLink <ElLink
class="!text-[11px] pb-[2px] ml-[15px]" class="!text-[11px] pb-[2px] ml-[15px]"
type="info" type="info"
:underline="false" :underline="false"
@click="open('https://github.com/EasyTier/EasytierGame')" @click="open('https://github.com/EasyTier/EasytierGame')">
>
主页 主页
</ElLink> </ElLink>
</div> </div>
@@ -269,15 +257,16 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { invoke } from "@tauri-apps/api/core"; import { invoke } from "@tauri-apps/api/core";
import { listen, type UnlistenFn } from "@tauri-apps/api/event"; import { listen } from "@tauri-apps/api/event";
import { open, Command } from "@tauri-apps/plugin-shell"; import { open, Command } from "@tauri-apps/plugin-shell";
import { QuestionFilled, Delete, List, UserFilled } from "@element-plus/icons-vue"; import { QuestionFilled, Delete, List, UserFilled, Setting, Share } from "@element-plus/icons-vue";
import { reactive, onBeforeUnmount, onMounted } from "vue"; import { reactive, onBeforeUnmount, onMounted } from "vue";
import { useTray, setTrayRunState } from "~/composables/tray"; import { useTray, setTrayRunState } from "~/composables/tray";
import useMainStore from "@/stores/index"; import useMainStore from "@/stores/index";
import { ElMessage } from "element-plus"; import { ElMessage } from "element-plus";
import { getCurrentWindow, LogicalPosition, PhysicalPosition } from "@tauri-apps/api/window"; import { getCurrentWindow, PhysicalPosition } from "@tauri-apps/api/window";
import { WebviewWindow, getAllWebviewWindows } from "@tauri-apps/api/webviewWindow"; import { getAllWebviewWindows } from "@tauri-apps/api/webviewWindow";
import etWindows from "@/composables/windows";
import * as tauriAutoStart from "@tauri-apps/plugin-autostart"; import * as tauriAutoStart from "@tauri-apps/plugin-autostart";
let is_close = false; let is_close = false;
@@ -290,9 +279,12 @@
const mainStore = useMainStore(); const mainStore = useMainStore();
const config = mainStore.config; const config = mainStore.config;
// console.log(config);
const protocols = ["tcp", "udp", "ws", "wss", "wg"]; const protocols = ["tcp", "udp", "ws", "wss", "wg"];
const data = reactive({ const data = reactive({
logVisible: false, logVisible: false,
cidrVisible: false,
advanceVisible: false,
winipBcPid: 0, //WinIPBroadcast进程id winipBcPid: 0, //WinIPBroadcast进程id
winipBcStart: false, winipBcStart: false,
memberVisible: false, memberVisible: false,
@@ -302,13 +294,13 @@
coreVersion: "", coreVersion: "",
isSuccessGetIp: false, isSuccessGetIp: false,
startLoading: false, startLoading: false,
isStart: false isStart: false,
}); });
const closePrevent = async () => { const closePrevent = async () => {
const appWindow = getCurrentWindow(); const appWindow = getCurrentWindow();
if (appWindow.label == "main") { if (appWindow.label == "main") {
appWindow.onCloseRequested(async event => { appWindow.onCloseRequested(async (event) => {
console.log(appWindow.label); console.log(appWindow.label);
if (!is_close) { if (!is_close) {
event.preventDefault(); event.preventDefault();
@@ -337,10 +329,11 @@
const listenObj: { [key: string]: any } = { const listenObj: { [key: string]: any } = {
unListenOutPut: null, unListenOutPut: null,
unListenThreadId: null, unListenThreadId: null,
unListenConfigStart: null,
thread_id: null, thread_id: null,
async listenOutput() { async listenOutput() {
const appWindow = getCurrentWindow(); const appWindow = getCurrentWindow();
const unListen = await listen("command-output", async event => { const unListen = await listen("command-output", async (event) => {
data.isStart = true; data.isStart = true;
if (event.payload) { if (event.payload) {
data.startLoading = false; data.startLoading = false;
@@ -357,13 +350,22 @@
this.unListenOutPut = unListen; this.unListenOutPut = unListen;
}, },
async listenThreadId() { async listenThreadId() {
const unListen = await listen("thread-id", event => { const unListen = await listen("thread-id", (event) => {
if (event.payload) { if (event.payload) {
this.thread_id = event.payload; this.thread_id = event.payload;
} }
}); });
this.unListenThreadId = unListen; this.unListenThreadId = unListen;
} },
async listenConfigStart() {
const unListen = await listen("config", (event) => {
// console.log("config", event.payload);
const ipv4 = config.ipv4;
mainStore.$patch(event.payload);
config.ipv4 = ipv4;
});
this.unListenConfigStart = unListen;
},
}; };
const unListenAll = async () => { const unListenAll = async () => {
@@ -505,16 +507,19 @@
await initStartWinIpBroadcast(); await initStartWinIpBroadcast();
await getCoreVersion(); await getCoreVersion();
await listenObj.listenThreadId(); await listenObj.listenThreadId();
await listenObj.listenConfigStart();
closePrevent(); closePrevent();
}); });
onBeforeUnmount(() => { onBeforeUnmount(() => {
unListenAll(); unListenAll();
listenObj.unListenReleaseList && listenObj.unListenReleaseList(); listenObj.unListenReleaseList && listenObj.unListenReleaseList();
listenObj.unListenConfigStart && listenObj.unListenConfigStart();
logsTimer && clearInterval(logsTimer); logsTimer && clearInterval(logsTimer);
}); });
const getArgs = () => { const getArgs = () => {
// console.log(config.proxyNetworks);
const args = []; const args = [];
if (config.dhcp) { if (config.dhcp) {
args.push("-d"); args.push("-d");
@@ -533,7 +538,7 @@
} }
if (config.serverUrl) { if (config.serverUrl) {
const formatUrl = config.serverUrl.replace(/\\/g, "/"); const formatUrl = config.serverUrl.replace(/\\/g, "/");
args.push("--peers", ...config.protocol.map(protocol => `${protocol}://${formatUrl}`)); args.push("--peers", ...config.protocol.map((protocol) => `${protocol}://${formatUrl}`));
} }
if (config.disbleP2p) { if (config.disbleP2p) {
args.push("--disable-p2p"); args.push("--disable-p2p");
@@ -544,6 +549,40 @@
if (config.disbleListenner) { if (config.disbleListenner) {
args.push("--no-listener"); args.push("--no-listener");
} }
if (mainStore.cidrEnable && config.proxyNetworks) {
// console.log(config.proxyNetworks);
const reg = /\d+\.\d+\.\d+\.\d+\/\d+/g;
const formatProxyNetworks = config.proxyNetworks
.split("\n")
.map((item) => item.trim())
.filter((item) => item && reg.test(item));
args.push("--proxy-networks", ...formatProxyNetworks);
config.proxyNetworks = formatProxyNetworks.join("\n");
}
if (config.disableEncryption) {
args.push("--disable-encryption");
}
if (config.multiThread) {
args.push("--multi-thread");
}
if (config.enablExitNode) {
args.push("--enable-exit-node");
}
if (config.noTun) {
args.push("--no-tun");
}
if (config.latencyfirst) {
args.push("--latency-first");
}
if (config.useSmoltcp) {
args.push("--use-smoltcp");
}
if (config.disableUdpHolePunching) {
args.push("--disable-udp-hole-punching");
}
if (config.relayAllPeerrpc) {
args.push("--relay-all-peer-rpc");
}
return args; return args;
}; };
@@ -554,7 +593,7 @@
config.ipv4 = ""; config.ipv4 = "";
} }
const memberDialog = await getAllWebviewWindows(); const memberDialog = await getAllWebviewWindows();
const memberDialogs = memberDialog.filter(item => item.label === "member"); const memberDialogs = memberDialog.filter((item) => item.label === "member");
if (memberDialogs && memberDialogs.length > 0) { if (memberDialogs && memberDialogs.length > 0) {
data.memberVisible = false; data.memberVisible = false;
for (const memberDialog of memberDialogs) { for (const memberDialog of memberDialogs) {
@@ -572,18 +611,17 @@
if (data.isStart) { if (data.isStart) {
await reset(); await reset();
} else { } else {
data.log = ""; //清空日志
data.startLoading = true; data.startLoading = true;
await unListenAll(); await unListenAll();
await listenObj.listenOutput(); await listenObj.listenOutput();
const args = getArgs(); const args = getArgs();
await invoke("run_command", { await invoke("run_command", {
args args,
}); });
} }
}; };
let unListenMemberClose: UnlistenFn | null = null;
let unlistenMemberCreated: UnlistenFn | null = null;
const handleShowMemberDialog = async () => { const handleShowMemberDialog = async () => {
if (!data.isStart) { if (!data.isStart) {
return ElMessage.warning("请先开始联机"); return ElMessage.warning("请先开始联机");
@@ -591,96 +629,82 @@
if (!mainStore.config.ipv4) { if (!mainStore.config.ipv4) {
return ElMessage.warning("请等待获取IP"); return ElMessage.warning("请等待获取IP");
} }
const appWindow = getCurrentWindow();
if (appWindow) { await etWindows(
const appSize = await appWindow.outerSize(); "member",
const factor = await appWindow.scaleFactor(); {
const appPosition = await appWindow.outerPosition(); title: "成员列表",
const logicalPosition = new PhysicalPosition(appPosition.x + appSize.width, appPosition.y).toLogical(factor); width: 470,
let memberDialog = await WebviewWindow.getByLabel("member"); height: 380,
if (!memberDialog) { url: "#/member",
memberDialog = new WebviewWindow("member", { },
title: "成员列表", () => {
width: 470, data.memberVisible = true;
height: 380, },
parent: appWindow, () => {
closable: true, data.memberVisible = false;
resizable: true,
decorations: true,
maximizable: false,
minimizable: false,
x: logicalPosition.x,
y: logicalPosition.y,
url: "#/member"
});
unlistenMemberCreated = await memberDialog.once("tauri://webview-created", async () => {
if (memberDialog) {
data.logVisible = true;
await memberDialog.show();
}
});
unListenMemberClose = await memberDialog.onCloseRequested(() => {
data.logVisible = false;
unListenMemberClose && unListenMemberClose();
});
} else {
const visible = await memberDialog.isVisible();
if (visible) {
data.memberVisible = false;
await memberDialog.close();
unlistenMemberCreated && unlistenMemberCreated();
}
} }
} );
}; };
let unListenlogClose: UnlistenFn | null = null;
let unlistenLogCreated: UnlistenFn | null = null;
const handleShowLogDialog = async () => { const handleShowLogDialog = async () => {
logsTimer && clearInterval(logsTimer); await etWindows(
const appWindow = getCurrentWindow(); "log",
if (appWindow) { {
const appSize = await appWindow.outerSize(); title: "日志",
const factor = await appWindow.scaleFactor(); width: 600,
const appPosition = await appWindow.outerPosition(); height: 380,
const logicalPosition = new PhysicalPosition(appPosition.x + appSize.width, appPosition.y).toLogical(factor); resizable: false,
let infoDialog = await WebviewWindow.getByLabel("log"); url: "#/log",
if (!infoDialog) { },
infoDialog = new WebviewWindow("log", { (_, appWindow) => {
title: "日志", data.logVisible = true;
width: 600, logsTimer && clearInterval(logsTimer);
height: 380, logsTimer = setInterval(() => {
parent: appWindow, appWindow.emitTo("log", "logs", data.log);
closable: true, }, 3000);
resizable: false, },
decorations: true, () => {
maximizable: false, data.logVisible = false;
minimizable: false,
x: logicalPosition.x,
y: logicalPosition.y,
url: "#/log"
});
unlistenLogCreated = await infoDialog.once("tauri://webview-created", async () => {
if (infoDialog) {
data.logVisible = true;
logsTimer = setInterval(() => {
appWindow.emitTo("log", "logs", data.log);
}, 3000);
await infoDialog.show();
}
});
unListenlogClose = await infoDialog.onCloseRequested(() => {
data.logVisible = false;
unListenlogClose && unListenlogClose();
});
} else {
const visible = await infoDialog.isVisible();
if (visible) {
data.logVisible = false;
await infoDialog.close();
unlistenLogCreated && unlistenLogCreated();
}
} }
} );
};
const handleShowCidrDialog = async () => {
await etWindows(
"cidr",
{
title: "子网代理",
width: 600,
height: 380,
resizable: false,
url: "#/cidr",
},
(_, appWindow) => {
data.cidrVisible = true;
},
() => {
data.cidrVisible = false;
}
);
};
const handleShowAdvanceDialog = async () => {
await etWindows(
"advance",
{
title: "高级选项",
width: 600,
height: 380,
resizable: false,
url: "#/advance",
},
(_, appWindow) => {
data.advanceVisible = true;
},
() => {
data.advanceVisible = false;
}
);
}; };
</script> </script>
+1 -1
View File
@@ -1,7 +1,7 @@
<template> <template>
<ElInput <ElInput
type="textarea" type="textarea"
rows="17" :rows="17"
v-model="data.log" v-model="data.log"
resize="none" resize="none"
readonly readonly
+2 -2
View File
@@ -69,7 +69,7 @@
for (let idx = 0; idx < length; idx++) { for (let idx = 0; idx < length; idx++) {
let headersIdx = idx % headers.length; let headersIdx = idx % headers.length;
if (headersIdx === 0) { if (headersIdx === 0) {
console.log(idx, [...data]); // console.log(idx, [...data]);
obj = {}; obj = {};
result.push(obj); result.push(obj);
} }
@@ -175,7 +175,7 @@
} }
const result = formatData(memberData); const result = formatData(memberData);
data.member = result; data.member = result;
console.log({ member: data.member }); // console.log({ member: data.member });
}; };
let timer: NodeJS.Timeout | null = null; let timer: NodeJS.Timeout | null = null;
+9 -430
View File
@@ -17,7 +17,7 @@ importers:
version: 2.3.1(vue@3.4.24(typescript@5.4.5)) version: 2.3.1(vue@3.4.24(typescript@5.4.5))
'@element-plus/nuxt': '@element-plus/nuxt':
specifier: ^1.0.9 specifier: ^1.0.9
version: 1.0.9(@element-plus/icons-vue@2.3.1(vue@3.4.24(typescript@5.4.5)))(element-plus@2.7.1(vue@3.4.24(typescript@5.4.5)))(rollup@4.16.3) version: 1.0.9(@element-plus/icons-vue@2.3.1(vue@3.4.24(typescript@5.4.5)))(element-plus@2.8.6(vue@3.4.24(typescript@5.4.5)))(rollup@4.16.3)
'@nuxtjs/tailwindcss': '@nuxtjs/tailwindcss':
specifier: ^6.12.0 specifier: ^6.12.0
version: 6.12.0(rollup@4.16.3) version: 6.12.0(rollup@4.16.3)
@@ -61,11 +61,8 @@ importers:
specifier: ^6.1.4 specifier: ^6.1.4
version: 6.1.4 version: 6.1.4
element-plus: element-plus:
specifier: ^2.7.1 specifier: ^2.8.6
version: 2.7.1(vue@3.4.24(typescript@5.4.5)) version: 2.8.6(vue@3.4.24(typescript@5.4.5))
javascript-obfuscator:
specifier: ^4.1.0
version: 4.1.0
less: less:
specifier: ^4.2.0 specifier: ^4.2.0
version: 4.2.0 version: 4.2.0
@@ -490,14 +487,6 @@ packages:
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
engines: {node: '>=12'} engines: {node: '>=12'}
'@javascript-obfuscator/escodegen@2.3.0':
resolution: {integrity: sha512-QVXwMIKqYMl3KwtTirYIA6gOCiJ0ZDtptXqAv/8KWLG9uQU2fZqTVy7a/A5RvcoZhbDoFfveTxuGxJ5ibzQtkw==}
engines: {node: '>=6.0'}
'@javascript-obfuscator/estraverse@5.4.0':
resolution: {integrity: sha512-CZFX7UZVN9VopGbjTx4UXaXsi9ewoM1buL0kY7j1ftYdSs7p2spv9opxFjHlQ/QGTgh4UqufYqJJ0WKLml7b6w==}
engines: {node: '>=4.0'}
'@jridgewell/gen-mapping@0.3.5': '@jridgewell/gen-mapping@0.3.5':
resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
engines: {node: '>=6.0.0'} engines: {node: '>=6.0.0'}
@@ -522,6 +511,7 @@ packages:
'@koa/router@12.0.1': '@koa/router@12.0.1':
resolution: {integrity: sha512-ribfPYfHb+Uw3b27Eiw6NPqjhIhTpVFzEWLwyc/1Xp+DCdwRRyIlAUODX+9bPARF6aQtUu1+/PHzdNvRzcs/+Q==} resolution: {integrity: sha512-ribfPYfHb+Uw3b27Eiw6NPqjhIhTpVFzEWLwyc/1Xp+DCdwRRyIlAUODX+9bPARF6aQtUu1+/PHzdNvRzcs/+Q==}
engines: {node: '>= 12'} engines: {node: '>= 12'}
deprecated: Use v12.0.2 or higher to fix the vulnerability issue
'@kwsites/file-exists@1.1.1': '@kwsites/file-exists@1.1.1':
resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==} resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==}
@@ -1053,9 +1043,6 @@ packages:
'@types/lodash@4.17.0': '@types/lodash@4.17.0':
resolution: {integrity: sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==} resolution: {integrity: sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==}
'@types/minimatch@3.0.5':
resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==}
'@types/node@20.12.7': '@types/node@20.12.7':
resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==}
@@ -1065,9 +1052,6 @@ packages:
'@types/resolve@1.20.2': '@types/resolve@1.20.2':
resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
'@types/validator@13.11.10':
resolution: {integrity: sha512-e2PNXoXLr6Z+dbfx5zSh9TRlXJrELycxiaXznp4S5+D2M3b9bqJEitNHA5923jhnB2zzFiZHa2f0SI1HoIahpg==}
'@types/web-bluetooth@0.0.16': '@types/web-bluetooth@0.0.16':
resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==}
@@ -1379,11 +1363,6 @@ packages:
engines: {node: '>=0.4.0'} engines: {node: '>=0.4.0'}
hasBin: true hasBin: true
acorn@8.8.2:
resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==}
engines: {node: '>=0.4.0'}
hasBin: true
adler-32@1.3.1: adler-32@1.3.1:
resolution: {integrity: sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==} resolution: {integrity: sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==}
engines: {node: '>=0.8'} engines: {node: '>=0.8'}
@@ -1457,21 +1436,6 @@ packages:
argparse@2.0.1: argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
array-differ@3.0.0:
resolution: {integrity: sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==}
engines: {node: '>=8'}
array-union@2.1.0:
resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
engines: {node: '>=8'}
arrify@2.0.1:
resolution: {integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==}
engines: {node: '>=8'}
assert@2.0.0:
resolution: {integrity: sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==}
ast-kit@0.12.1: ast-kit@0.12.1:
resolution: {integrity: sha512-O+33g7x6irsESUcd47KdfWUrS2F6aGp9KeVJFGj0YjIznfXpBxVGjA0w+y/1OKqX4mFOfmZ9Xpf1ixPT4n9xxw==} resolution: {integrity: sha512-O+33g7x6irsESUcd47KdfWUrS2F6aGp9KeVJFGj0YjIznfXpBxVGjA0w+y/1OKqX4mFOfmZ9Xpf1ixPT4n9xxw==}
engines: {node: '>=16.14.0'} engines: {node: '>=16.14.0'}
@@ -1507,10 +1471,6 @@ packages:
peerDependencies: peerDependencies:
postcss: ^8.1.0 postcss: ^8.1.0
available-typed-arrays@1.0.7:
resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
engines: {node: '>= 0.4'}
b4a@1.6.6: b4a@1.6.6:
resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==} resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==}
@@ -1624,16 +1584,6 @@ packages:
resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
chance@1.1.9:
resolution: {integrity: sha512-TfxnA/DcZXRTA4OekA2zL9GH8qscbbl6X0ZqU4tXhGveVY/mXWvEQLt5GwZcYXTEyEFflVtj+pG8nc8EwSm1RQ==}
char-regex@1.0.2:
resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==}
engines: {node: '>=10'}
charenc@0.0.2:
resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==}
chokidar@3.6.0: chokidar@3.6.0:
resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
engines: {node: '>= 8.10.0'} engines: {node: '>= 8.10.0'}
@@ -1649,9 +1599,6 @@ packages:
citty@0.1.6: citty@0.1.6:
resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==}
class-validator@0.14.0:
resolution: {integrity: sha512-ct3ltplN8I9fOwUd8GrP8UQixwff129BkEtuWDKL5W45cQuLd19xqmTLu5ge78YDm/fdje6FMt0hGOhl0lii3A==}
clean-stack@2.2.0: clean-stack@2.2.0:
resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
engines: {node: '>=6'} engines: {node: '>=6'}
@@ -1705,10 +1652,6 @@ packages:
colorette@2.0.20: colorette@2.0.20:
resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
commander@10.0.0:
resolution: {integrity: sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==}
engines: {node: '>=14'}
commander@2.20.3: commander@2.20.3:
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
@@ -1807,9 +1750,6 @@ packages:
uWebSockets.js: uWebSockets.js:
optional: true optional: true
crypt@0.0.2:
resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==}
css-declaration-sorter@7.2.0: css-declaration-sorter@7.2.0:
resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==} resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==}
engines: {node: ^14 || ^16 || >=18} engines: {node: ^14 || ^16 || >=18}
@@ -1906,9 +1846,6 @@ packages:
deep-equal@1.0.1: deep-equal@1.0.1:
resolution: {integrity: sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==} resolution: {integrity: sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==}
deep-is@0.1.4:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
deepmerge@4.3.1: deepmerge@4.3.1:
resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
@@ -1933,10 +1870,6 @@ packages:
resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==}
engines: {node: '>=12'} engines: {node: '>=12'}
define-properties@1.2.1:
resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
engines: {node: '>= 0.4'}
defu@6.1.4: defu@6.1.4:
resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
@@ -2020,8 +1953,8 @@ packages:
electron-to-chromium@1.4.722: electron-to-chromium@1.4.722:
resolution: {integrity: sha512-5nLE0TWFFpZ80Crhtp4pIp8LXCztjYX41yUcV6b+bKR2PqzjskTMOOlBi1VjBHlvHwS+4gar7kNKOrsbsewEZQ==} resolution: {integrity: sha512-5nLE0TWFFpZ80Crhtp4pIp8LXCztjYX41yUcV6b+bKR2PqzjskTMOOlBi1VjBHlvHwS+4gar7kNKOrsbsewEZQ==}
element-plus@2.7.1: element-plus@2.8.6:
resolution: {integrity: sha512-yk/vXFwJp0flMrd2kfcR0XlumhwtPjB19HJvwcf0n3DvRE7UK8LeSK14LVghSzk0TzPsFFElweMnZEEv7+MYuQ==} resolution: {integrity: sha512-fk5jB8V3efM02/4roZ5SWOLArgaYXbxEydZLlXSr+KPAwjNyHBlk2+HO5em8YKo5+RLBoHnn6BaThj6IE4nXoQ==}
peerDependencies: peerDependencies:
vue: ^3.2.0 vue: ^3.2.0
@@ -2068,9 +2001,6 @@ packages:
resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
es6-object-assign@1.1.0:
resolution: {integrity: sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==}
esbuild@0.20.2: esbuild@0.20.2:
resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==}
engines: {node: '>=12'} engines: {node: '>=12'}
@@ -2091,37 +2021,12 @@ packages:
resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
engines: {node: '>=12'} engines: {node: '>=12'}
eslint-scope@7.1.1:
resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
eslint-visitor-keys@3.3.0:
resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
esprima@4.0.1:
resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
engines: {node: '>=4'}
hasBin: true
esrecurse@4.3.0:
resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
engines: {node: '>=4.0'}
estraverse@5.3.0:
resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
engines: {node: '>=4.0'}
estree-walker@2.0.2: estree-walker@2.0.2:
resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
estree-walker@3.0.3: estree-walker@3.0.3:
resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
esutils@2.0.3:
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
engines: {node: '>=0.10.0'}
etag@1.8.1: etag@1.8.1:
resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
engines: {node: '>= 0.6'} engines: {node: '>= 0.6'}
@@ -2152,9 +2057,6 @@ packages:
externality@1.0.2: externality@1.0.2:
resolution: {integrity: sha512-LyExtJWKxtgVzmgtEHyQtLFpw1KFhQphF9nTG8TpAIVkiI/xQ3FJh75tRFLYl4hkn7BNIIdLJInuDAavX35pMw==} resolution: {integrity: sha512-LyExtJWKxtgVzmgtEHyQtLFpw1KFhQphF9nTG8TpAIVkiI/xQ3FJh75tRFLYl4hkn7BNIIdLJInuDAavX35pMw==}
fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
fast-fifo@1.3.2: fast-fifo@1.3.2:
resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==}
@@ -2162,9 +2064,6 @@ packages:
resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
engines: {node: '>=8.6.0'} engines: {node: '>=8.6.0'}
fast-levenshtein@2.0.6:
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
fastq@1.17.1: fastq@1.17.1:
resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
@@ -2198,9 +2097,6 @@ packages:
focus-trap@7.5.4: focus-trap@7.5.4:
resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==}
for-each@0.3.3:
resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
foreground-child@3.1.1: foreground-child@3.1.1:
resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==}
engines: {node: '>=14'} engines: {node: '>=14'}
@@ -2481,9 +2377,6 @@ packages:
resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
inversify@6.0.1:
resolution: {integrity: sha512-B3ex30927698TJENHR++8FfEaJGqoWOgI6ZY5Ht/nLUsFCwHn6akbwtnUAPCgUepAnTpe2qHxhDNjoKLyz6rgQ==}
ioredis@5.4.1: ioredis@5.4.1:
resolution: {integrity: sha512-2YZsvl7jopIa1gaePkeMtd9rAcSjOOjPtpcLlOeusyO+XH2SK5ZcT+UCrElPP+WVIInh2TzeI4XW9ENaSLVVHA==} resolution: {integrity: sha512-2YZsvl7jopIa1gaePkeMtd9rAcSjOOjPtpcLlOeusyO+XH2SK5ZcT+UCrElPP+WVIInh2TzeI4XW9ENaSLVVHA==}
engines: {node: '>=12.22.0'} engines: {node: '>=12.22.0'}
@@ -2495,25 +2388,14 @@ packages:
iron-webcrypto@1.1.0: iron-webcrypto@1.1.0:
resolution: {integrity: sha512-5vgYsCakNlaQub1orZK5QmNYhwYtcllTkZBp5sfIaCqY93Cf6l+v2rtE+E4TMbcfjxDMCdrO8wmp7+ZvhDECLA==} resolution: {integrity: sha512-5vgYsCakNlaQub1orZK5QmNYhwYtcllTkZBp5sfIaCqY93Cf6l+v2rtE+E4TMbcfjxDMCdrO8wmp7+ZvhDECLA==}
is-arguments@1.1.1:
resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==}
engines: {node: '>= 0.4'}
is-binary-path@2.1.0: is-binary-path@2.1.0:
resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
engines: {node: '>=8'} engines: {node: '>=8'}
is-buffer@1.1.6:
resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==}
is-builtin-module@3.2.1: is-builtin-module@3.2.1:
resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==}
engines: {node: '>=6'} engines: {node: '>=6'}
is-callable@1.2.7:
resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
engines: {node: '>= 0.4'}
is-core-module@2.13.1: is-core-module@2.13.1:
resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
@@ -2558,10 +2440,6 @@ packages:
is-module@1.0.0: is-module@1.0.0:
resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
is-nan@1.3.2:
resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==}
engines: {node: '>= 0.4'}
is-number@7.0.0: is-number@7.0.0:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
engines: {node: '>=0.12.0'} engines: {node: '>=0.12.0'}
@@ -2588,10 +2466,6 @@ packages:
resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
is-typed-array@1.1.13:
resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
engines: {node: '>= 0.4'}
is-what@3.14.1: is-what@3.14.1:
resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==}
@@ -2621,19 +2495,10 @@ packages:
resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
engines: {node: '>=14'} engines: {node: '>=14'}
javascript-obfuscator@4.1.0:
resolution: {integrity: sha512-ckC0VFKQ0/sFtLH9apW/ZLfsP8LuZqZhVEM4VTJ5KLzyLaodW6C1lTU8808eboDmddKyvd2uyRx5bzc0Me0GYg==}
engines: {node: ^12.22.0 || ^14.0.0 || ^16.0.0 || ^17.0.0 || >=18.0.0}
hasBin: true
jiti@1.21.0: jiti@1.21.0:
resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==}
hasBin: true hasBin: true
js-string-escape@1.0.1:
resolution: {integrity: sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==}
engines: {node: '>= 0.8'}
js-tokens@4.0.0: js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
@@ -2720,13 +2585,6 @@ packages:
engines: {node: '>=6'} engines: {node: '>=6'}
hasBin: true hasBin: true
levn@0.3.0:
resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==}
engines: {node: '>= 0.8.0'}
libphonenumber-js@1.11.1:
resolution: {integrity: sha512-Wze1LPwcnzvcKGcRHFGFECTaLzxOtujwpf924difr5zniyYv1C2PiW0419qDR7m8lKDxsImu5mwxFuXhXpjmvw==}
lilconfig@2.1.0: lilconfig@2.1.0:
resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
engines: {node: '>=10'} engines: {node: '>=10'}
@@ -2816,9 +2674,6 @@ packages:
resolution: {integrity: sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==} resolution: {integrity: sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==}
engines: {node: ^16.14.0 || >=18.0.0} engines: {node: ^16.14.0 || >=18.0.0}
md5@2.3.0:
resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==}
mdn-data@2.0.28: mdn-data@2.0.28:
resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==}
@@ -2946,11 +2801,6 @@ packages:
engines: {node: '>=10'} engines: {node: '>=10'}
hasBin: true hasBin: true
mkdirp@2.1.3:
resolution: {integrity: sha512-sjAkg21peAG9HS+Dkx7hlG9Ztx7HLeKnvB3NQRcu/mltCVmvkF0pisbiTSfDVYTT86XEfZrTUosLdZLStquZUw==}
engines: {node: '>=10'}
hasBin: true
mlly@1.6.1: mlly@1.6.1:
resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==}
@@ -2971,10 +2821,6 @@ packages:
ms@2.1.3: ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
multimatch@5.0.0:
resolution: {integrity: sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==}
engines: {node: '>=10'}
mz@2.7.0: mz@2.7.0:
resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
@@ -3141,14 +2987,6 @@ packages:
object-inspect@1.13.1: object-inspect@1.13.1:
resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}
object-is@1.1.6:
resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==}
engines: {node: '>= 0.4'}
object-keys@1.1.1:
resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
engines: {node: '>= 0.4'}
ofetch@1.3.4: ofetch@1.3.4:
resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==} resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==}
@@ -3189,14 +3027,6 @@ packages:
resolution: {integrity: sha512-ZD6dgSZi0u1QCP55g8/2yS5hNJfIpgqsSGHLxxdOjvY7eIrXzj271FJEQw33VwsZ6RCtO/NOuhxa7GBWmEudyA==} resolution: {integrity: sha512-ZD6dgSZi0u1QCP55g8/2yS5hNJfIpgqsSGHLxxdOjvY7eIrXzj271FJEQw33VwsZ6RCtO/NOuhxa7GBWmEudyA==}
hasBin: true hasBin: true
opencollective-postinstall@2.0.3:
resolution: {integrity: sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==}
hasBin: true
optionator@0.8.3:
resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==}
engines: {node: '>= 0.8.0'}
p-limit@3.1.0: p-limit@3.1.0:
resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
engines: {node: '>=10'} engines: {node: '>=10'}
@@ -3314,10 +3144,6 @@ packages:
resolution: {integrity: sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==} resolution: {integrity: sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==}
engines: {node: '>= 0.12.0'} engines: {node: '>= 0.12.0'}
possible-typed-array-names@1.0.0:
resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
engines: {node: '>= 0.4'}
postcss-calc@9.0.1: postcss-calc@9.0.1:
resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==} resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==}
engines: {node: ^14 || ^16 || >=18.0} engines: {node: ^14 || ^16 || >=18.0}
@@ -3527,10 +3353,6 @@ packages:
resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
engines: {node: ^10 || ^12 || >=14} engines: {node: ^10 || ^12 || >=14}
prelude-ls@1.1.2:
resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==}
engines: {node: '>= 0.8.0'}
pretty-bytes@6.1.1: pretty-bytes@6.1.1:
resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==} resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==}
engines: {node: ^14.13.1 || >=16.0.0} engines: {node: ^14.13.1 || >=16.0.0}
@@ -3629,9 +3451,6 @@ packages:
resolution: {integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==} resolution: {integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==}
engines: {node: '>=4'} engines: {node: '>=4'}
reflect-metadata@0.1.13:
resolution: {integrity: sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==}
replace-in-file@6.3.5: replace-in-file@6.3.5:
resolution: {integrity: sha512-arB9d3ENdKva2fxRnSjwBEXfK1npgyci7ZZuwysgAp7ORjHSyxz6oqIjTEv8R0Ydl4Ll7uOAZXL4vbkhGIizCg==} resolution: {integrity: sha512-arB9d3ENdKva2fxRnSjwBEXfK1npgyci7ZZuwysgAp7ORjHSyxz6oqIjTEv8R0Ydl4Ll7uOAZXL4vbkhGIizCg==}
engines: {node: '>=10'} engines: {node: '>=10'}
@@ -3870,9 +3689,6 @@ packages:
streamx@2.16.1: streamx@2.16.1:
resolution: {integrity: sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ==} resolution: {integrity: sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ==}
string-template@1.0.0:
resolution: {integrity: sha512-SLqR3GBUXuoPP5MmYtD7ompvXiG87QjT6lzOszyXjTM86Uu7At7vNnt2xgyTLq5o9T4IxTYFyGxcULqpsmsfdg==}
string-width@4.2.3: string-width@4.2.3:
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
engines: {node: '>=8'} engines: {node: '>=8'}
@@ -3887,9 +3703,6 @@ packages:
string_decoder@1.3.0: string_decoder@1.3.0:
resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
stringz@2.1.0:
resolution: {integrity: sha512-KlywLT+MZ+v0IRepfMxRtnSvDCMc3nR1qqCs3m/qIbSOWkNZYT8XHQA31rS3TnKp0c5xjZu3M4GY/2aRKSi/6A==}
strip-ansi@6.0.1: strip-ansi@6.0.1:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'} engines: {node: '>=8'}
@@ -4020,9 +3833,6 @@ packages:
ts-interface-checker@0.1.13: ts-interface-checker@0.1.13:
resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
tslib@2.5.0:
resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==}
tslib@2.6.2: tslib@2.6.2:
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
@@ -4034,10 +3844,6 @@ packages:
resolution: {integrity: sha512-ZSDngmP1z6zw+FIkIBjvOp/II/mIub/O7Pp12j1WNsiCpg5R5wAc//i555bBQsE44O94btLt0xM/Zr2LQjwdCg==} resolution: {integrity: sha512-ZSDngmP1z6zw+FIkIBjvOp/II/mIub/O7Pp12j1WNsiCpg5R5wAc//i555bBQsE44O94btLt0xM/Zr2LQjwdCg==}
engines: {node: ^16.14.0 || >=18.0.0} engines: {node: ^16.14.0 || >=18.0.0}
type-check@0.3.2:
resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==}
engines: {node: '>= 0.8.0'}
type-fest@0.21.3: type-fest@0.21.3:
resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
engines: {node: '>=10'} engines: {node: '>=10'}
@@ -4196,9 +4002,6 @@ packages:
util-deprecate@1.0.2: util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
util@0.12.5:
resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==}
validate-npm-package-license@3.0.4: validate-npm-package-license@3.0.4:
resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
@@ -4206,10 +4009,6 @@ packages:
resolution: {integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==} resolution: {integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
validator@13.12.0:
resolution: {integrity: sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==}
engines: {node: '>= 0.10'}
vary@1.1.2: vary@1.1.2:
resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
engines: {node: '>= 0.8'} engines: {node: '>= 0.8'}
@@ -4383,10 +4182,6 @@ packages:
whatwg-url@5.0.0: whatwg-url@5.0.0:
resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
which-typed-array@1.1.15:
resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
engines: {node: '>= 0.4'}
which@2.0.2: which@2.0.2:
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
engines: {node: '>= 8'} engines: {node: '>= 8'}
@@ -4409,10 +4204,6 @@ packages:
resolution: {integrity: sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==} resolution: {integrity: sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==}
engines: {node: '>=0.8'} engines: {node: '>=0.8'}
word-wrap@1.2.5:
resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
engines: {node: '>=0.10.0'}
word@0.3.0: word@0.3.0:
resolution: {integrity: sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==} resolution: {integrity: sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==}
engines: {node: '>=0.8'} engines: {node: '>=0.8'}
@@ -4743,11 +4534,11 @@ snapshots:
dependencies: dependencies:
vue: 3.4.24(typescript@5.4.5) vue: 3.4.24(typescript@5.4.5)
'@element-plus/nuxt@1.0.9(@element-plus/icons-vue@2.3.1(vue@3.4.24(typescript@5.4.5)))(element-plus@2.7.1(vue@3.4.24(typescript@5.4.5)))(rollup@4.16.3)': '@element-plus/nuxt@1.0.9(@element-plus/icons-vue@2.3.1(vue@3.4.24(typescript@5.4.5)))(element-plus@2.8.6(vue@3.4.24(typescript@5.4.5)))(rollup@4.16.3)':
dependencies: dependencies:
'@element-plus/icons-vue': 2.3.1(vue@3.4.24(typescript@5.4.5)) '@element-plus/icons-vue': 2.3.1(vue@3.4.24(typescript@5.4.5))
'@nuxt/kit': 3.11.2(rollup@4.16.3) '@nuxt/kit': 3.11.2(rollup@4.16.3)
element-plus: 2.7.1(vue@3.4.24(typescript@5.4.5)) element-plus: 2.8.6(vue@3.4.24(typescript@5.4.5))
magic-string: 0.27.0 magic-string: 0.27.0
unplugin: 1.10.1 unplugin: 1.10.1
transitivePeerDependencies: transitivePeerDependencies:
@@ -4865,17 +4656,6 @@ snapshots:
wrap-ansi: 8.1.0 wrap-ansi: 8.1.0
wrap-ansi-cjs: wrap-ansi@7.0.0 wrap-ansi-cjs: wrap-ansi@7.0.0
'@javascript-obfuscator/escodegen@2.3.0':
dependencies:
'@javascript-obfuscator/estraverse': 5.4.0
esprima: 4.0.1
esutils: 2.0.3
optionator: 0.8.3
optionalDependencies:
source-map: 0.6.1
'@javascript-obfuscator/estraverse@5.4.0': {}
'@jridgewell/gen-mapping@0.3.5': '@jridgewell/gen-mapping@0.3.5':
dependencies: dependencies:
'@jridgewell/set-array': 1.2.1 '@jridgewell/set-array': 1.2.1
@@ -5617,8 +5397,6 @@ snapshots:
'@types/lodash@4.17.0': {} '@types/lodash@4.17.0': {}
'@types/minimatch@3.0.5': {}
'@types/node@20.12.7': '@types/node@20.12.7':
dependencies: dependencies:
undici-types: 5.26.5 undici-types: 5.26.5
@@ -5627,8 +5405,6 @@ snapshots:
'@types/resolve@1.20.2': {} '@types/resolve@1.20.2': {}
'@types/validator@13.11.10': {}
'@types/web-bluetooth@0.0.16': {} '@types/web-bluetooth@0.0.16': {}
'@types/web-bluetooth@0.0.20': {} '@types/web-bluetooth@0.0.20': {}
@@ -6131,8 +5907,6 @@ snapshots:
acorn@8.11.3: {} acorn@8.11.3: {}
acorn@8.8.2: {}
adler-32@1.3.1: {} adler-32@1.3.1: {}
agent-base@6.0.2: agent-base@6.0.2:
@@ -6210,19 +5984,6 @@ snapshots:
argparse@2.0.1: {} argparse@2.0.1: {}
array-differ@3.0.0: {}
array-union@2.1.0: {}
arrify@2.0.1: {}
assert@2.0.0:
dependencies:
es6-object-assign: 1.1.0
is-nan: 1.3.2
object-is: 1.1.6
util: 0.12.5
ast-kit@0.12.1: ast-kit@0.12.1:
dependencies: dependencies:
'@babel/parser': 7.24.4 '@babel/parser': 7.24.4
@@ -6265,10 +6026,6 @@ snapshots:
postcss: 8.4.38 postcss: 8.4.38
postcss-value-parser: 4.2.0 postcss-value-parser: 4.2.0
available-typed-arrays@1.0.7:
dependencies:
possible-typed-array-names: 1.0.0
b4a@1.6.6: {} b4a@1.6.6: {}
balanced-match@1.0.2: {} balanced-match@1.0.2: {}
@@ -6405,12 +6162,6 @@ snapshots:
chalk@5.3.0: {} chalk@5.3.0: {}
chance@1.1.9: {}
char-regex@1.0.2: {}
charenc@0.0.2: {}
chokidar@3.6.0: chokidar@3.6.0:
dependencies: dependencies:
anymatch: 3.1.3 anymatch: 3.1.3
@@ -6431,12 +6182,6 @@ snapshots:
dependencies: dependencies:
consola: 3.2.3 consola: 3.2.3
class-validator@0.14.0:
dependencies:
'@types/validator': 13.11.10
libphonenumber-js: 1.11.1
validator: 13.12.0
clean-stack@2.2.0: {} clean-stack@2.2.0: {}
clear@0.1.0: {} clear@0.1.0: {}
@@ -6483,8 +6228,6 @@ snapshots:
colorette@2.0.20: {} colorette@2.0.20: {}
commander@10.0.0: {}
commander@2.20.3: {} commander@2.20.3: {}
commander@4.1.1: {} commander@4.1.1: {}
@@ -6557,8 +6300,6 @@ snapshots:
crossws@0.2.4: {} crossws@0.2.4: {}
crypt@0.0.2: {}
css-declaration-sorter@7.2.0(postcss@8.4.38): css-declaration-sorter@7.2.0(postcss@8.4.38):
dependencies: dependencies:
postcss: 8.4.38 postcss: 8.4.38
@@ -6653,8 +6394,6 @@ snapshots:
deep-equal@1.0.1: {} deep-equal@1.0.1: {}
deep-is@0.1.4: {}
deepmerge@4.3.1: {} deepmerge@4.3.1: {}
default-browser-id@5.0.0: {} default-browser-id@5.0.0: {}
@@ -6674,12 +6413,6 @@ snapshots:
define-lazy-prop@3.0.0: {} define-lazy-prop@3.0.0: {}
define-properties@1.2.1:
dependencies:
define-data-property: 1.1.4
has-property-descriptors: 1.0.2
object-keys: 1.1.1
defu@6.1.4: {} defu@6.1.4: {}
delegate@3.2.0: {} delegate@3.2.0: {}
@@ -6740,7 +6473,7 @@ snapshots:
electron-to-chromium@1.4.722: {} electron-to-chromium@1.4.722: {}
element-plus@2.7.1(vue@3.4.24(typescript@5.4.5)): element-plus@2.8.6(vue@3.4.24(typescript@5.4.5)):
dependencies: dependencies:
'@ctrl/tinycolor': 3.6.1 '@ctrl/tinycolor': 3.6.1
'@element-plus/icons-vue': 2.3.1(vue@3.4.24(typescript@5.4.5)) '@element-plus/icons-vue': 2.3.1(vue@3.4.24(typescript@5.4.5))
@@ -6796,8 +6529,6 @@ snapshots:
es-errors@1.3.0: {} es-errors@1.3.0: {}
es6-object-assign@1.1.0: {}
esbuild@0.20.2: esbuild@0.20.2:
optionalDependencies: optionalDependencies:
'@esbuild/aix-ppc64': 0.20.2 '@esbuild/aix-ppc64': 0.20.2
@@ -6832,29 +6563,12 @@ snapshots:
escape-string-regexp@5.0.0: {} escape-string-regexp@5.0.0: {}
eslint-scope@7.1.1:
dependencies:
esrecurse: 4.3.0
estraverse: 5.3.0
eslint-visitor-keys@3.3.0: {}
esprima@4.0.1: {}
esrecurse@4.3.0:
dependencies:
estraverse: 5.3.0
estraverse@5.3.0: {}
estree-walker@2.0.2: {} estree-walker@2.0.2: {}
estree-walker@3.0.3: estree-walker@3.0.3:
dependencies: dependencies:
'@types/estree': 1.0.5 '@types/estree': 1.0.5
esutils@2.0.3: {}
etag@1.8.1: {} etag@1.8.1: {}
event-target-shim@5.0.1: {} event-target-shim@5.0.1: {}
@@ -6906,8 +6620,6 @@ snapshots:
pathe: 1.1.2 pathe: 1.1.2
ufo: 1.5.3 ufo: 1.5.3
fast-deep-equal@3.1.3: {}
fast-fifo@1.3.2: {} fast-fifo@1.3.2: {}
fast-glob@3.3.2: fast-glob@3.3.2:
@@ -6918,8 +6630,6 @@ snapshots:
merge2: 1.4.1 merge2: 1.4.1
micromatch: 4.0.5 micromatch: 4.0.5
fast-levenshtein@2.0.6: {}
fastq@1.17.1: fastq@1.17.1:
dependencies: dependencies:
reusify: 1.0.4 reusify: 1.0.4
@@ -6951,10 +6661,6 @@ snapshots:
dependencies: dependencies:
tabbable: 6.2.0 tabbable: 6.2.0
for-each@0.3.3:
dependencies:
is-callable: 1.2.7
foreground-child@3.1.1: foreground-child@3.1.1:
dependencies: dependencies:
cross-spawn: 7.0.3 cross-spawn: 7.0.3
@@ -7255,8 +6961,6 @@ snapshots:
ini@4.1.1: {} ini@4.1.1: {}
inversify@6.0.1: {}
ioredis@5.4.1: ioredis@5.4.1:
dependencies: dependencies:
'@ioredis/commands': 1.2.0 '@ioredis/commands': 1.2.0
@@ -7278,23 +6982,14 @@ snapshots:
iron-webcrypto@1.1.0: {} iron-webcrypto@1.1.0: {}
is-arguments@1.1.1:
dependencies:
call-bind: 1.0.7
has-tostringtag: 1.0.2
is-binary-path@2.1.0: is-binary-path@2.1.0:
dependencies: dependencies:
binary-extensions: 2.3.0 binary-extensions: 2.3.0
is-buffer@1.1.6: {}
is-builtin-module@3.2.1: is-builtin-module@3.2.1:
dependencies: dependencies:
builtin-modules: 3.3.0 builtin-modules: 3.3.0
is-callable@1.2.7: {}
is-core-module@2.13.1: is-core-module@2.13.1:
dependencies: dependencies:
hasown: 2.0.2 hasown: 2.0.2
@@ -7328,11 +7023,6 @@ snapshots:
is-module@1.0.0: {} is-module@1.0.0: {}
is-nan@1.3.2:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
is-number@7.0.0: {} is-number@7.0.0: {}
is-path-inside@4.0.0: {} is-path-inside@4.0.0: {}
@@ -7351,10 +7041,6 @@ snapshots:
is-stream@3.0.0: {} is-stream@3.0.0: {}
is-typed-array@1.1.13:
dependencies:
which-typed-array: 1.1.15
is-what@3.14.1: {} is-what@3.14.1: {}
is-wsl@2.2.0: is-wsl@2.2.0:
@@ -7381,36 +7067,8 @@ snapshots:
optionalDependencies: optionalDependencies:
'@pkgjs/parseargs': 0.11.0 '@pkgjs/parseargs': 0.11.0
javascript-obfuscator@4.1.0:
dependencies:
'@javascript-obfuscator/escodegen': 2.3.0
'@javascript-obfuscator/estraverse': 5.4.0
acorn: 8.8.2
assert: 2.0.0
chalk: 4.1.2
chance: 1.1.9
class-validator: 0.14.0
commander: 10.0.0
eslint-scope: 7.1.1
eslint-visitor-keys: 3.3.0
fast-deep-equal: 3.1.3
inversify: 6.0.1
js-string-escape: 1.0.1
md5: 2.3.0
mkdirp: 2.1.3
multimatch: 5.0.0
opencollective-postinstall: 2.0.3
process: 0.11.10
reflect-metadata: 0.1.13
source-map-support: 0.5.21
string-template: 1.0.0
stringz: 2.1.0
tslib: 2.5.0
jiti@1.21.0: {} jiti@1.21.0: {}
js-string-escape@1.0.1: {}
js-tokens@4.0.0: {} js-tokens@4.0.0: {}
js-tokens@9.0.0: {} js-tokens@9.0.0: {}
@@ -7522,13 +7180,6 @@ snapshots:
needle: 3.3.1 needle: 3.3.1
source-map: 0.6.1 source-map: 0.6.1
levn@0.3.0:
dependencies:
prelude-ls: 1.1.2
type-check: 0.3.2
libphonenumber-js@1.11.1: {}
lilconfig@2.1.0: {} lilconfig@2.1.0: {}
lilconfig@3.1.1: {} lilconfig@3.1.1: {}
@@ -7641,12 +7292,6 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
md5@2.3.0:
dependencies:
charenc: 0.0.2
crypt: 0.0.2
is-buffer: 1.1.6
mdn-data@2.0.28: {} mdn-data@2.0.28: {}
mdn-data@2.0.30: {} mdn-data@2.0.30: {}
@@ -7748,8 +7393,6 @@ snapshots:
mkdirp@1.0.4: {} mkdirp@1.0.4: {}
mkdirp@2.1.3: {}
mlly@1.6.1: mlly@1.6.1:
dependencies: dependencies:
acorn: 8.11.3 acorn: 8.11.3
@@ -7767,14 +7410,6 @@ snapshots:
ms@2.1.3: {} ms@2.1.3: {}
multimatch@5.0.0:
dependencies:
'@types/minimatch': 3.0.5
array-differ: 3.0.0
array-union: 2.1.0
arrify: 2.0.1
minimatch: 3.1.2
mz@2.7.0: mz@2.7.0:
dependencies: dependencies:
any-promise: 1.3.0 any-promise: 1.3.0
@@ -8127,13 +7762,6 @@ snapshots:
object-inspect@1.13.1: {} object-inspect@1.13.1: {}
object-is@1.1.6:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
object-keys@1.1.1: {}
ofetch@1.3.4: ofetch@1.3.4:
dependencies: dependencies:
destr: 2.0.3 destr: 2.0.3
@@ -8187,17 +7815,6 @@ snapshots:
undici: 5.28.4 undici: 5.28.4
yargs-parser: 21.1.1 yargs-parser: 21.1.1
opencollective-postinstall@2.0.3: {}
optionator@0.8.3:
dependencies:
deep-is: 0.1.4
fast-levenshtein: 2.0.6
levn: 0.3.0
prelude-ls: 1.1.2
type-check: 0.3.2
word-wrap: 1.2.5
p-limit@3.1.0: p-limit@3.1.0:
dependencies: dependencies:
yocto-queue: 0.1.0 yocto-queue: 0.1.0
@@ -8317,8 +7934,6 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
possible-typed-array-names@1.0.0: {}
postcss-calc@9.0.1(postcss@8.4.38): postcss-calc@9.0.1(postcss@8.4.38):
dependencies: dependencies:
postcss: 8.4.38 postcss: 8.4.38
@@ -8510,8 +8125,6 @@ snapshots:
picocolors: 1.0.0 picocolors: 1.0.0
source-map-js: 1.2.0 source-map-js: 1.2.0
prelude-ls@1.1.2: {}
pretty-bytes@6.1.1: {} pretty-bytes@6.1.1: {}
proc-log@3.0.0: {} proc-log@3.0.0: {}
@@ -8613,8 +8226,6 @@ snapshots:
dependencies: dependencies:
redis-errors: 1.2.0 redis-errors: 1.2.0
reflect-metadata@0.1.13: {}
replace-in-file@6.3.5: replace-in-file@6.3.5:
dependencies: dependencies:
chalk: 4.1.2 chalk: 4.1.2
@@ -8877,8 +8488,6 @@ snapshots:
optionalDependencies: optionalDependencies:
bare-events: 2.2.2 bare-events: 2.2.2
string-template@1.0.0: {}
string-width@4.2.3: string-width@4.2.3:
dependencies: dependencies:
emoji-regex: 8.0.0 emoji-regex: 8.0.0
@@ -8899,10 +8508,6 @@ snapshots:
dependencies: dependencies:
safe-buffer: 5.2.1 safe-buffer: 5.2.1
stringz@2.1.0:
dependencies:
char-regex: 1.0.2
strip-ansi@6.0.1: strip-ansi@6.0.1:
dependencies: dependencies:
ansi-regex: 5.0.1 ansi-regex: 5.0.1
@@ -9060,8 +8665,6 @@ snapshots:
ts-interface-checker@0.1.13: {} ts-interface-checker@0.1.13: {}
tslib@2.5.0: {}
tslib@2.6.2: {} tslib@2.6.2: {}
tsscmp@1.0.6: {} tsscmp@1.0.6: {}
@@ -9074,10 +8677,6 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
type-check@0.3.2:
dependencies:
prelude-ls: 1.1.2
type-fest@0.21.3: {} type-fest@0.21.3: {}
type-fest@3.13.1: {} type-fest@3.13.1: {}
@@ -9272,14 +8871,6 @@ snapshots:
util-deprecate@1.0.2: {} util-deprecate@1.0.2: {}
util@0.12.5:
dependencies:
inherits: 2.0.4
is-arguments: 1.1.1
is-generator-function: 1.0.10
is-typed-array: 1.1.13
which-typed-array: 1.1.15
validate-npm-package-license@3.0.4: validate-npm-package-license@3.0.4:
dependencies: dependencies:
spdx-correct: 3.2.0 spdx-correct: 3.2.0
@@ -9289,8 +8880,6 @@ snapshots:
dependencies: dependencies:
builtins: 5.0.1 builtins: 5.0.1
validator@13.12.0: {}
vary@1.1.2: {} vary@1.1.2: {}
vite-hot-client@0.2.3(vite@5.2.10(@types/node@20.12.7)(less@4.2.0)(terser@5.30.4)): vite-hot-client@0.2.3(vite@5.2.10(@types/node@20.12.7)(less@4.2.0)(terser@5.30.4)):
@@ -9457,14 +9046,6 @@ snapshots:
tr46: 0.0.3 tr46: 0.0.3
webidl-conversions: 3.0.1 webidl-conversions: 3.0.1
which-typed-array@1.1.15:
dependencies:
available-typed-arrays: 1.0.7
call-bind: 1.0.7
for-each: 0.3.3
gopd: 1.0.1
has-tostringtag: 1.0.2
which@2.0.2: which@2.0.2:
dependencies: dependencies:
isexe: 2.0.0 isexe: 2.0.0
@@ -9483,8 +9064,6 @@ snapshots:
wmf@1.0.2: {} wmf@1.0.2: {}
word-wrap@1.2.5: {}
word@0.3.0: {} word@0.3.0: {}
wrap-ansi@7.0.0: wrap-ansi@7.0.0:
+180 -39
View File
@@ -422,9 +422,9 @@ dependencies = [
[[package]] [[package]]
name = "brotli" name = "brotli"
version = "6.0.0" version = "7.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "74f7971dbd9326d58187408ab83117d8ac1bb9c17b085fdacd1cf2f598719b6b" checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd"
dependencies = [ dependencies = [
"alloc-no-stdlib", "alloc-no-stdlib",
"alloc-stdlib", "alloc-stdlib",
@@ -1109,9 +1109,10 @@ checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125"
[[package]] [[package]]
name = "easytier-game" name = "easytier-game"
version = "1.0.6" version = "1.0.7"
dependencies = [ dependencies = [
"log", "log",
"planif",
"reqwest", "reqwest",
"serde", "serde",
"serde_json", "serde_json",
@@ -2164,7 +2165,19 @@ version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b1fb8864823fad91877e6caea0baca82e49e8db50f8e5c9f9a453e27d3330fc" checksum = "5b1fb8864823fad91877e6caea0baca82e49e8db50f8e5c9f9a453e27d3330fc"
dependencies = [ dependencies = [
"jsonptr", "jsonptr 0.4.7",
"serde",
"serde_json",
"thiserror",
]
[[package]]
name = "json-patch"
version = "3.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "863726d7afb6bc2590eeff7135d923545e5e964f004c2ccf8716c25e70a86f08"
dependencies = [
"jsonptr 0.6.3",
"serde", "serde",
"serde_json", "serde_json",
"thiserror", "thiserror",
@@ -2181,6 +2194,16 @@ dependencies = [
"serde_json", "serde_json",
] ]
[[package]]
name = "jsonptr"
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5dea2b27dd239b2556ed7a25ba842fe47fd602e7fc7433c2a8d6106d4d9edd70"
dependencies = [
"serde",
"serde_json",
]
[[package]] [[package]]
name = "keyboard-types" name = "keyboard-types"
version = "0.7.0" version = "0.7.0"
@@ -2532,7 +2555,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1"
dependencies = [ dependencies = [
"malloc_buf", "malloc_buf",
"objc_exception",
] ]
[[package]] [[package]]
@@ -2540,6 +2562,9 @@ name = "objc-sys"
version = "0.3.5" version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310" checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310"
dependencies = [
"cc",
]
[[package]] [[package]]
name = "objc2" name = "objc2"
@@ -2567,6 +2592,30 @@ dependencies = [
"objc2-quartz-core", "objc2-quartz-core",
] ]
[[package]]
name = "objc2-cloud-kit"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009"
dependencies = [
"bitflags 2.6.0",
"block2",
"objc2",
"objc2-core-location",
"objc2-foundation",
]
[[package]]
name = "objc2-contacts"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a5ff520e9c33812fd374d8deecef01d4a840e7b41862d849513de77e44aa4889"
dependencies = [
"block2",
"objc2",
"objc2-foundation",
]
[[package]] [[package]]
name = "objc2-core-data" name = "objc2-core-data"
version = "0.2.2" version = "0.2.2"
@@ -2591,6 +2640,18 @@ dependencies = [
"objc2-metal", "objc2-metal",
] ]
[[package]]
name = "objc2-core-location"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "000cfee34e683244f284252ee206a27953279d370e309649dc3ee317b37e5781"
dependencies = [
"block2",
"objc2",
"objc2-contacts",
"objc2-foundation",
]
[[package]] [[package]]
name = "objc2-encode" name = "objc2-encode"
version = "4.0.3" version = "4.0.3"
@@ -2609,6 +2670,18 @@ dependencies = [
"objc2", "objc2",
] ]
[[package]]
name = "objc2-link-presentation"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1a1ae721c5e35be65f01a03b6d2ac13a54cb4fa70d8a5da293d7b0020261398"
dependencies = [
"block2",
"objc2",
"objc2-app-kit",
"objc2-foundation",
]
[[package]] [[package]]
name = "objc2-metal" name = "objc2-metal"
version = "0.2.2" version = "0.2.2"
@@ -2635,21 +2708,71 @@ dependencies = [
] ]
[[package]] [[package]]
name = "objc_exception" name = "objc2-symbols"
version = "0.1.2" version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" checksum = "0a684efe3dec1b305badae1a28f6555f6ddd3bb2c2267896782858d5a78404dc"
dependencies = [ dependencies = [
"cc", "objc2",
"objc2-foundation",
] ]
[[package]] [[package]]
name = "objc_id" name = "objc2-ui-kit"
version = "0.1.1" version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f"
dependencies = [ dependencies = [
"objc", "bitflags 2.6.0",
"block2",
"objc2",
"objc2-cloud-kit",
"objc2-core-data",
"objc2-core-image",
"objc2-core-location",
"objc2-foundation",
"objc2-link-presentation",
"objc2-quartz-core",
"objc2-symbols",
"objc2-uniform-type-identifiers",
"objc2-user-notifications",
]
[[package]]
name = "objc2-uniform-type-identifiers"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "44fa5f9748dbfe1ca6c0b79ad20725a11eca7c2218bceb4b005cb1be26273bfe"
dependencies = [
"block2",
"objc2",
"objc2-foundation",
]
[[package]]
name = "objc2-user-notifications"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3"
dependencies = [
"bitflags 2.6.0",
"block2",
"objc2",
"objc2-core-location",
"objc2-foundation",
]
[[package]]
name = "objc2-web-kit"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68bc69301064cebefc6c4c90ce9cba69225239e4b8ff99d445a2b5563797da65"
dependencies = [
"bitflags 2.6.0",
"block2",
"objc2",
"objc2-app-kit",
"objc2-foundation",
] ]
[[package]] [[package]]
@@ -2987,6 +3110,14 @@ version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2"
[[package]]
name = "planif"
version = "1.0.0"
source = "git+https://github.com/mattrobineau/planif?tag=1.0.1#90e228e2bc0f142b16a0ba415ec242e1c836cc35"
dependencies = [
"windows 0.48.0",
]
[[package]] [[package]]
name = "plist" name = "plist"
version = "1.7.0" version = "1.7.0"
@@ -4112,9 +4243,9 @@ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1"
[[package]] [[package]]
name = "tauri" name = "tauri"
version = "2.0.2" version = "2.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5920aad0804ea5e86808d4b6e8753d3bcbae7efc8f4e41a4da00b45427559868" checksum = "d3889b392db6d32a105d3757230ea0220090b8f94c90d3e60b6c5eb91178ab1b"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"bytes", "bytes",
@@ -4163,16 +4294,16 @@ dependencies = [
[[package]] [[package]]
name = "tauri-build" name = "tauri-build"
version = "2.0.1" version = "2.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "935f9b3c49b22b3e2e485a57f46d61cd1ae07b1cbb2ba87387a387caf2d8c4e7" checksum = "9f96827ccfb1aa40d55d0ded79562d18ba18566657a553f992a982d755148376"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"cargo_toml", "cargo_toml",
"dirs 5.0.1", "dirs 5.0.1",
"glob", "glob",
"heck 0.5.0", "heck 0.5.0",
"json-patch", "json-patch 3.0.1",
"schemars", "schemars",
"semver", "semver",
"serde", "serde",
@@ -4185,14 +4316,14 @@ dependencies = [
[[package]] [[package]]
name = "tauri-codegen" name = "tauri-codegen"
version = "2.0.1" version = "2.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "95d7443dd4f0b597704b6a14b964ee2ed16e99928d8e6292ae9825f09fbcd30e" checksum = "8947f16f47becd9e9cd39b74ee337fd1981574d78819be18e4384d85e5a0b82f"
dependencies = [ dependencies = [
"base64 0.22.1", "base64 0.22.1",
"brotli", "brotli",
"ico", "ico",
"json-patch", "json-patch 2.0.0",
"plist", "plist",
"png", "png",
"proc-macro2", "proc-macro2",
@@ -4212,9 +4343,9 @@ dependencies = [
[[package]] [[package]]
name = "tauri-macros" name = "tauri-macros"
version = "2.0.1" version = "2.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4d2c0963ccfc3f5194415f2cce7acc975942a8797fbabfb0aa1ed6f59326ae7f" checksum = "8bd1c8d4a66799d3438747c3a79705cd665a95d6f24cb5f315413ff7a981fe2a"
dependencies = [ dependencies = [
"heck 0.5.0", "heck 0.5.0",
"proc-macro2", "proc-macro2",
@@ -4280,9 +4411,9 @@ dependencies = [
[[package]] [[package]]
name = "tauri-plugin-shell" name = "tauri-plugin-shell"
version = "2.0.1" version = "2.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "371fb9aca2823990a2d0db7970573be5fdf07881fcaa2b835b29631feb84aec1" checksum = "0ad7880c5586b6b2104be451e3d7fc0f3800c84bda69e9ba81c828f87cb34267"
dependencies = [ dependencies = [
"encoding_rs", "encoding_rs",
"log", "log",
@@ -4316,9 +4447,9 @@ dependencies = [
[[package]] [[package]]
name = "tauri-runtime" name = "tauri-runtime"
version = "2.0.1" version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "af12ad1af974b274ef1d32a94e6eba27a312b429ef28fcb98abc710df7f9151d" checksum = "a1ef7363e7229ac8d04e8a5d405670dbd43dde8fc4bc3bc56105c35452d03784"
dependencies = [ dependencies = [
"dpi", "dpi",
"gtk", "gtk",
@@ -4335,9 +4466,9 @@ dependencies = [
[[package]] [[package]]
name = "tauri-runtime-wry" name = "tauri-runtime-wry"
version = "2.0.1" version = "2.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e45e88aa0b11b302d836e6ea3e507a6359044c4a8bc86b865ba99868c695753d" checksum = "62fa2068e8498ad007b54d5773d03d57c3ff6dd96f8c8ce58beff44d0d5e0d30"
dependencies = [ dependencies = [
"gtk", "gtk",
"http", "http",
@@ -4361,9 +4492,9 @@ dependencies = [
[[package]] [[package]]
name = "tauri-utils" name = "tauri-utils"
version = "2.0.1" version = "2.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c38b0230d6880cf6dd07b6d7dd7789a0869f98ac12146e0d18d1c1049215a045" checksum = "1fc65d6f5c54e56b66258948a6d9e47a82ea41f4b5a7612bfbdd1634c2913ed0"
dependencies = [ dependencies = [
"brotli", "brotli",
"cargo_metadata", "cargo_metadata",
@@ -4372,7 +4503,7 @@ dependencies = [
"glob", "glob",
"html5ever", "html5ever",
"infer", "infer",
"json-patch", "json-patch 2.0.0",
"kuchikiki", "kuchikiki",
"log", "log",
"memchr", "memchr",
@@ -5108,6 +5239,15 @@ dependencies = [
"windows-version", "windows-version",
] ]
[[package]]
name = "windows"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
dependencies = [
"windows-targets 0.48.5",
]
[[package]] [[package]]
name = "windows" name = "windows"
version = "0.57.0" version = "0.57.0"
@@ -5498,14 +5638,12 @@ dependencies = [
[[package]] [[package]]
name = "wry" name = "wry"
version = "0.44.1" version = "0.46.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "440600584cfbd8b0d28eace95c1f2c253db05dae43780b79380aa1e868f04c73" checksum = "6fa1c8c760041c64ce6be99f83d6cb55fe3fcd85a1ad46d32895f6e65cee87ba"
dependencies = [ dependencies = [
"base64 0.22.1", "base64 0.22.1",
"block", "block2",
"cocoa",
"core-graphics",
"crossbeam-channel", "crossbeam-channel",
"dpi", "dpi",
"dunce", "dunce",
@@ -5518,8 +5656,11 @@ dependencies = [
"kuchikiki", "kuchikiki",
"libc", "libc",
"ndk", "ndk",
"objc", "objc2",
"objc_id", "objc2-app-kit",
"objc2-foundation",
"objc2-ui-kit",
"objc2-web-kit",
"once_cell", "once_cell",
"percent-encoding", "percent-encoding",
"raw-window-handle", "raw-window-handle",
+9 -7
View File
@@ -1,6 +1,6 @@
[package] [package]
name = "easytier-game" name = "easytier-game"
version = "1.0.6" version = "1.0.7"
homepage = "https://github.com/EasyTier/EasyTier" homepage = "https://github.com/EasyTier/EasyTier"
repository = "https://github.com/EasyTier/EasytierGame" repository = "https://github.com/EasyTier/EasytierGame"
description = "A simple network initiator based on Easytier" description = "A simple network initiator based on Easytier"
@@ -12,31 +12,33 @@ rust-version = "1.77.2"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[lib] [lib]
name = "app_lib" name = "app_lib"
crate-type = ["staticlib", "cdylib", "rlib"] crate-type = ["staticlib", "cdylib", "rlib"]
[build-dependencies] [build-dependencies]
tauri-build = { version = "2.0.1", features = [] } tauri-build = { version = "2.0.2", features = [] }
# prost-build = "0.13.2" # prost-build = "0.13.2"
[dependencies] [dependencies]
serde_json = "1.0" serde_json = "1.0"
serde = { version = "1.0", features = ["derive"] } serde = { version = "1.0", features = ["derive"] }
log = "0.4" log = "0.4"
tauri = { version = "2.0.2", features = [ tauri = { version = "2.0.6", features = [
"tray-icon", "tray-icon",
"image-png", "image-png",
"image-ico", "image-ico",
] } ] }
tauri-plugin-log = "2.0.0-rc" tauri-plugin-log = "2.0.1"
tauri-plugin-shell = "2" tauri-plugin-shell = "2.0.2"
reqwest = { version = "0.12", features = ["json"] } reqwest = { version = "0.12", features = ["json"] }
zip = "2.2.0" zip = "2.2.0"
sysinfo = '0.32.0' sysinfo = '0.32.0'
planif = { git = "https://github.com/mattrobineau/planif", tag = "1.0.1" }
# prost = "0.13" # prost = "0.13"
# prost-types = "0.13" # prost-types = "0.13"
[target."cfg(not(any(target_os = \"android\", target_os = \"ios\")))".dependencies] [target."cfg(not(any(target_os = \"android\", target_os = \"ios\")))".dependencies]
tauri-plugin-autostart = "2" tauri-plugin-autostart = "2.0.1"
tauri-plugin-single-instance = "2" tauri-plugin-single-instance = "2.0.1"
Binary file not shown.
+2 -1
View File
@@ -2,7 +2,7 @@
"$schema": "../gen/schemas/desktop-schema.json", "$schema": "../gen/schemas/desktop-schema.json",
"identifier": "default", "identifier": "default",
"description": "enables the default permissions", "description": "enables the default permissions",
"windows": ["main", "log"], "windows": ["main", "log", "member", "cidr", "advance"],
"permissions": [ "permissions": [
"core:default", "core:default",
"core:window:allow-minimize", "core:window:allow-minimize",
@@ -20,6 +20,7 @@
"core:webview:allow-webview-show", "core:webview:allow-webview-show",
"core:webview:allow-webview-hide", "core:webview:allow-webview-hide",
"core:webview:allow-webview-close", "core:webview:allow-webview-close",
"autostart:default",
"autostart:allow-enable", "autostart:allow-enable",
"autostart:allow-disable", "autostart:allow-disable",
"autostart:allow-is-enabled", "autostart:allow-is-enabled",
-11
View File
@@ -1,11 +0,0 @@
{
"identifier": "desktop-capability",
"platforms": [
"macOS",
"windows",
"linux"
],
"permissions": [
"autostart:default"
]
}
+6 -6
View File
@@ -1,7 +1,7 @@
{ {
"$schema": "../node_modules/@tauri-apps/cli/config.schema.json", "$schema": "../node_modules/@tauri-apps/cli/config.schema.json",
"productName": "easytier-game", "productName": "easytier-game",
"version": "1.0.6", "version": "1.0.7",
"identifier": "com.tauri.easytier-game", "identifier": "com.tauri.easytier-game",
"build": { "build": {
@@ -15,12 +15,12 @@
{ {
"title": "easytier-game", "title": "easytier-game",
"width": 331, "width": 331,
"height": 285, "height": 305,
"resizable": false, "resizable": false,
"fullscreen": false, "fullscreen": false,
"decorations": true, "decorations": true,
"maximizable": false,
"center": true, "center": true,
"maximizable": false,
"transparent": false "transparent": false
} }
], ],
@@ -28,18 +28,18 @@
"csp": null "csp": null
} }
}, },
"plugins": {},
"bundle": { "bundle": {
"active": false, "active": false,
"targets": "all", "targets": "all",
"externalBin": ["WinIPBroadcast"], "externalBin": ["WinIPBroadcast"],
"resources": ["icons/icon-inactive.ico", "icons/icon.ico"], "resources": ["icons/icon-inactive.ico", "icons/icon.ico", "easytier-cli.exe", "easytier-core.exe", "Packet.dll", "wintun.dll"],
"windows": { "windows": {
"webviewInstallMode": { "webviewInstallMode": {
"type": "embedBootstrapper" "type": "embedBootstrapper"
} }
}, },
"createUpdaterArtifacts": false, "createUpdaterArtifacts": false,
"icon": ["icons/icon.png", "icons/icon.rgba", "icons/icon.icns", "icons/icon.ico", "icons/icon-inactive.ico"] "icon": ["icons/icon.png", "icons/icon.rgba", "icons/icon.icns", "icons/icon.ico"]
} }
} }
+20
View File
@@ -9,18 +9,30 @@ export default defineStore("main", {
networkPassword: "", networkPassword: "",
hostname: "", hostname: "",
ipv4: "", ipv4: "",
proxyNetworks: "", // 子网代理
autoStart: false, // 是否自动启动 autoStart: false, // 是否自动启动
disableIpv6: false, // 是否禁用IPv6 disableIpv6: false, // 是否禁用IPv6
disbleListenner: false, // 是否禁用监听 disbleListenner: false, // 是否禁用监听
disableEncryption: false, // 是否禁用加密
multiThread: false, //使用多线程
enablExitNode: false, // 是否启用退出节点
noTun: false, // 是否使用TUN
latencyfirst: false, // 是否优先延迟
useSmoltcp: false, // 是否为子网代理启用smoltcp堆栈
disableUdpHolePunching: false, // 是否禁用UDP打洞
relayAllPeerrpc: false, // 是否启用所有对等RPC
disbleP2p: false, // 是否使用P2P disbleP2p: false, // 是否使用P2P
dhcp: true, // 是否使用DHCP dhcp: true, // 是否使用DHCP
}, },
cidrEnable: false,
basePeers: ["public.easytier.top:11010"], basePeers: ["public.easytier.top:11010"],
}; };
}, },
persist: { persist: {
paths: [ paths: [
"basePeers", "basePeers",
"cidrEnable",
"config.proxyNetworks",
"config.serverUrl", "config.serverUrl",
"config.networkName", "config.networkName",
"config.protocol", "config.protocol",
@@ -29,6 +41,14 @@ export default defineStore("main", {
"config.autoStart", "config.autoStart",
"config.disableIpv6", "config.disableIpv6",
"config.disbleListenner", "config.disbleListenner",
"config.disableEncryption",
"config.multiThread",
"config.enablExitNode",
"config.noTun",
"config.latencyfirst",
"config.useSmoltcp",
"config.disableUdpHolePunching",
"config.relayAllPeerrpc",
"config.hostname", "config.hostname",
"config.dhcp", "config.dhcp",
], ],