From 73db78a5e1af0000288074aa2c2f904f8b4d55a9 Mon Sep 17 00:00:00 2001 From: AkiChase <1003019131@qq.com> Date: Sun, 14 Apr 2024 17:18:12 +0800 Subject: [PATCH] feat(sidebar): finish nav button --- src/components/Sidebar.vue | 41 +++++++++++++++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 3 deletions(-) diff --git a/src/components/Sidebar.vue b/src/components/Sidebar.vue index 1f82b67..7d0a248 100644 --- a/src/components/Sidebar.vue +++ b/src/components/Sidebar.vue @@ -10,14 +10,47 @@ import { } from "@vicons/ionicons5"; import { Keyboard24Regular } from "@vicons/fluent"; import { NIcon } from "naive-ui"; +import { useGlobalStore } from "../store/global"; +import { sendInjectKeycode } from "../frontcommand/controlMsg"; +import { + AndroidKeyEventAction, + AndroidKeycode, + AndroidMetastate, +} from "../frontcommand/android"; const router = useRouter(); const route = useRoute(); +const store = useGlobalStore(); function nav(name: string) { router.replace({ name }); } +function sleep(time: number) { + return new Promise((resolve) => { + setTimeout(() => { + resolve(); + }, time); + }); +} + +async function sendKeyCodeToDevice(code: AndroidKeycode) { + if (store.controledDevice) { + await sendInjectKeycode({ + action: AndroidKeyEventAction.AKEY_EVENT_ACTION_DOWN, + keycode: code, + repeat: 0, + metastate: AndroidMetastate.AMETA_NONE, + }); + await sleep(50); + await sendInjectKeycode({ + action: AndroidKeyEventAction.AKEY_EVENT_ACTION_UP, + keycode: code, + repeat: 0, + metastate: AndroidMetastate.AMETA_NONE, + }); + } +}