mirror of
https://github.com/jxxghp/MoviePilot-Frontend.git
synced 2026-09-05 23:56:42 +08:00
feat 内建重启
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "moviepilot",
|
"name": "moviepilot",
|
||||||
"version": "1.1.4",
|
"version": "1.1.5",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite --host",
|
"dev": "vite --host",
|
||||||
|
|||||||
@@ -1,11 +1,20 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useStore } from 'vuex'
|
import { useStore } from 'vuex'
|
||||||
|
import { useConfirm } from 'vuetify-use-dialog'
|
||||||
|
import { useToast } from 'vue-toast-notification'
|
||||||
import router from '@/router'
|
import router from '@/router'
|
||||||
import avatar1 from '@images/avatars/avatar-1.png'
|
import avatar1 from '@images/avatars/avatar-1.png'
|
||||||
|
import api from '@/api'
|
||||||
|
|
||||||
// Vuex Store
|
// Vuex Store
|
||||||
const store = useStore()
|
const store = useStore()
|
||||||
|
|
||||||
|
// 确认框
|
||||||
|
const createConfirm = useConfirm()
|
||||||
|
|
||||||
|
// 提示框
|
||||||
|
const $toast = useToast()
|
||||||
|
|
||||||
// 执行注销操作
|
// 执行注销操作
|
||||||
function logout() {
|
function logout() {
|
||||||
// 清除登录状态信息
|
// 清除登录状态信息
|
||||||
@@ -15,6 +24,37 @@ function logout() {
|
|||||||
router.push('/login')
|
router.push('/login')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 执行重启操作
|
||||||
|
async function restart() {
|
||||||
|
// 弹出提示
|
||||||
|
const confirmed = await createConfirm({
|
||||||
|
title: '确认',
|
||||||
|
content: '确认重启系统吗?',
|
||||||
|
confirmationText: '确认',
|
||||||
|
cancellationText: '取消',
|
||||||
|
dialogProps: {
|
||||||
|
maxWidth: '30rem',
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
if (confirmed) {
|
||||||
|
// 调用API重启
|
||||||
|
try {
|
||||||
|
const result: { [key: string]: any } = await api.get('system/restart')
|
||||||
|
if (!result.success) {
|
||||||
|
// 重启成功
|
||||||
|
$toast.error(result.message)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (error) {
|
||||||
|
console.error(error)
|
||||||
|
}
|
||||||
|
// 注销
|
||||||
|
logout()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 从Vuex Store中获取信息
|
// 从Vuex Store中获取信息
|
||||||
const superUser = store.state.auth.superUser
|
const superUser = store.state.auth.superUser
|
||||||
const userName = store.state.auth.userName
|
const userName = store.state.auth.userName
|
||||||
@@ -93,6 +133,19 @@ const avatar = store.state.auth.avatar
|
|||||||
<!-- Divider -->
|
<!-- Divider -->
|
||||||
<VDivider class="my-2" />
|
<VDivider class="my-2" />
|
||||||
|
|
||||||
|
<!-- 👉 restart -->
|
||||||
|
<VListItem @click="restart">
|
||||||
|
<template #prepend>
|
||||||
|
<VIcon
|
||||||
|
class="me-2"
|
||||||
|
icon="mdi-restart"
|
||||||
|
size="22"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<VListItemTitle>重启</VListItemTitle>
|
||||||
|
</VListItem>
|
||||||
|
|
||||||
<!-- 👉 Logout -->
|
<!-- 👉 Logout -->
|
||||||
<VListItem @click="logout">
|
<VListItem @click="logout">
|
||||||
<template #prepend>
|
<template #prepend>
|
||||||
|
|||||||
Reference in New Issue
Block a user