新增锁定屏幕功能

This commit is contained in:
RuoYi
2026-03-20 22:13:44 +08:00
parent 8fb8f0d505
commit e6f4b20a1c
7 changed files with 448 additions and 1 deletions
+17 -1
View File
@@ -50,7 +50,10 @@
</router-link>
<el-dropdown-item command="setLayout" v-if="settingsStore.showSettings">
<span>布局设置</span>
</el-dropdown-item>
</el-dropdown-item>
<el-dropdown-item command="lockScreen">
<span>锁定屏幕</span>
</el-dropdown-item>
<el-dropdown-item divided command="logout">
<span>退出登录</span>
</el-dropdown-item>
@@ -75,11 +78,15 @@ import RuoYiGit from '@/components/RuoYi/Git/index.vue'
import RuoYiDoc from '@/components/RuoYi/Doc/index.vue'
import useAppStore from '@/store/modules/app'
import useUserStore from '@/store/modules/user'
import useLockStore from '@/store/modules/lock'
import useSettingsStore from '@/store/modules/settings'
import HeaderNotice from './HeaderNotice'
const route = useRoute()
const router = useRouter()
const appStore = useAppStore()
const userStore = useUserStore()
const lockStore = useLockStore()
const settingsStore = useSettingsStore()
function toggleSideBar(): void {
@@ -91,6 +98,9 @@ function handleCommand(command: string): void {
case "setLayout":
setLayout()
break
case "lockScreen":
lockScreen()
break
case "logout":
logout()
break
@@ -116,6 +126,12 @@ function setLayout(): void {
emits('setLayout')
}
function lockScreen() {
const currentPath = route.fullPath
lockStore.lockScreen(currentPath)
router.push('/lock')
}
async function toggleTheme(event?: MouseEvent): Promise<void> {
const x = event?.clientX || window.innerWidth / 2
const y = event?.clientY || window.innerHeight / 2