You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.0 KiB
47 lines
1.0 KiB
<template> |
|
<div id="app"> |
|
<router-view /> |
|
<theme-picker /> |
|
</div> |
|
</template> |
|
|
|
<script> |
|
import ThemePicker from "@/components/ThemePicker"; |
|
import { exitFullscreen, isFullscreen } from "@/utils/fullscreen"; |
|
|
|
export default { |
|
name: "App", |
|
components: { ThemePicker }, |
|
metaInfo() { |
|
return { |
|
title: |
|
this.$store.state.settings.dynamicTitle && |
|
this.$store.state.settings.title, |
|
titleTemplate: (title) => { |
|
return title |
|
? `${title} - ${process.env.VUE_APP_TITLE}` |
|
: process.env.VUE_APP_TITLE; |
|
}, |
|
}; |
|
}, |
|
mounted() { |
|
// 监听键盘事件,当用户按 Esc 键时退出全屏 |
|
window.addEventListener("keydown", this.handleKeyDown); |
|
}, |
|
beforeDestroy() { |
|
window.removeEventListener("keydown", this.handleKeyDown); |
|
}, |
|
methods: { |
|
handleKeyDown(event) { |
|
if (event.key === "Escape" && isFullscreen()) { |
|
exitFullscreen(); |
|
} |
|
}, |
|
}, |
|
}; |
|
</script> |
|
<style scoped> |
|
#app .theme-picker { |
|
display: none; |
|
} |
|
</style>
|
|
|