系统托盘增加联机和断开的切换

This commit is contained in:
leizi97
2024-11-21 23:37:24 +08:00
parent c23191fe45
commit 4e3f1cbd89
6 changed files with 24 additions and 9 deletions
+16 -4
View File
@@ -17,7 +17,7 @@ async function toggleVisibility() {
}
}
export async function useTray(init: boolean = false, beforExit: Function) {
export async function useTray(init: boolean = false, beforExit: Function, handleConnection: Function) {
let tray;
try {
tray = await TrayIcon.getById(DEFAULT_TRAY_NAME);
@@ -28,7 +28,7 @@ export async function useTray(init: boolean = false, beforExit: Function) {
id: DEFAULT_TRAY_NAME,
menu: await Menu.new({
id: "main",
items: await generateMenuItem(beforExit),
items: await generateMenuItem(beforExit, handleConnection),
}),
action: async (e) => {
toggleVisibility();
@@ -46,7 +46,7 @@ export async function useTray(init: boolean = false, beforExit: Function) {
tray.setMenu(
await Menu.new({
id: "main",
items: await generateMenuItem(beforExit),
items: await generateMenuItem(beforExit, handleConnection),
})
);
}
@@ -54,9 +54,10 @@ export async function useTray(init: boolean = false, beforExit: Function) {
return tray;
}
export async function generateMenuItem(beforExit: Function) {
export async function generateMenuItem(beforExit: Function, handleConnection:Function) {
return [
await MenuItemShow("显示 / 隐藏"),
await MenuItemExchangeConnection("联机 / 断开", handleConnection),
await MenuItemTheme(),
await PredefinedMenuItem.new({ item: "Separator" }),
await MenuItemExit("退出", beforExit),
@@ -86,6 +87,17 @@ export async function MenuItemShow(text: string) {
});
}
export async function MenuItemExchangeConnection(text: string, handleConnection:Function) {
const menutItem = await MenuItem.new({
id: "exchangeConnection",
text,
action: async () => {
const isStart = await handleConnection();
},
});
return menutItem;
}
export async function MenuItemTheme() {
return await MenuItem.new({
id: "theme",
+1 -1
View File
@@ -3,7 +3,7 @@
"private": true,
"author": "leizi97",
"description": "A simple network initiator based on Easytier",
"version": "1.2.3",
"version": "1.2.4",
"scripts": {
"dev": "nuxt dev --dotenv env/.env.dev --host 0.0.0.0",
"build": "nuxt generate --dotenv env/.env.prod"
+3
View File
@@ -508,6 +508,9 @@
is_close = true;
await invoke("stop_command", { child_id: listenObj.thread_id || 0 });
await invoke("stop_command", { child_id: data.winipBcPid || 0 });
}, async () => {
await handleConnection();
return data.isStart
});
const mainStore = useMainStore();
+1 -1
View File
@@ -1176,7 +1176,7 @@ checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125"
[[package]]
name = "easytier-game"
version = "1.2.3"
version = "1.2.4"
dependencies = [
"log",
"planif",
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "easytier-game"
version = "1.2.3"
version = "1.2.4"
homepage = "https://github.com/EasyTier/EasyTier"
repository = "https://github.com/EasyTier/EasytierGame"
description = "A simple network initiator based on Easytier"
+2 -2
View File
@@ -1,7 +1,7 @@
{
"$schema": "../node_modules/@tauri-apps/cli/config.schema.json",
"productName": "easytier-game",
"version": "1.2.3",
"version": "1.2.4",
"identifier": "com.tauri.easytier-game",
"build": {
@@ -13,7 +13,7 @@
"app": {
"windows": [
{
"title": "easytier-game 1.2.3",
"title": "easytier-game 1.2.4",
"label": "main",
"minWidth": 340,
"width": 340,