diff --git a/src/layouts/components/HotkeysIntro/index.vue b/src/layouts/components/HotkeysIntro/index.vue index d8a70e3a..c073e1e2 100755 --- a/src/layouts/components/HotkeysIntro/index.vue +++ b/src/layouts/components/HotkeysIntro/index.vue @@ -54,6 +54,14 @@ onMounted(() => { 激活下一个主导航 +
  • +
    + {{ settingsStore.os === 'mac' ? '⌥' : 'Alt' }} + {{ settingsStore.os === 'mac' ? '⇧' : 'Shift' }} + ` +
    + 激活上一个主导航 +
  • diff --git a/src/layouts/components/MainSidebar/index.vue b/src/layouts/components/MainSidebar/index.vue index e26c8708..70308033 100755 --- a/src/layouts/components/MainSidebar/index.vue +++ b/src/layouts/components/MainSidebar/index.vue @@ -2,6 +2,7 @@ import { useSlots } from '@/slots' import useMenuStore from '@/store/modules/menu' import useSettingsStore from '@/store/modules/settings' +import hotkeys from 'hotkeys-js' import Logo from '../Logo/index.vue' defineOptions({ @@ -12,6 +13,25 @@ const settingsStore = useSettingsStore() const menuStore = useMenuStore() const { switchTo } = useMenu() + +onMounted(() => { + hotkeys('alt+`', (e) => { + if (settingsStore.settings.menu.enableHotkeys && ['side', 'head'].includes(settingsStore.settings.menu.mode)) { + e.preventDefault() + switchTo(menuStore.actived + 1 < menuStore.allMenus.length ? menuStore.actived + 1 : 0) + } + }) + hotkeys('alt+shift+`', (e) => { + if (settingsStore.settings.menu.enableHotkeys && ['side', 'head'].includes(settingsStore.settings.menu.mode)) { + e.preventDefault() + switchTo(menuStore.actived - 1 >= 0 ? menuStore.actived - 1 : menuStore.allMenus.length - 1) + } + }) +}) +onUnmounted(() => { + hotkeys.unbind('alt+`') + hotkeys.unbind('alt+shift+`') +})