diff --git a/src/components/cards/StorageCard.vue b/src/components/cards/StorageCard.vue index ab7697ac..7c830430 100644 --- a/src/components/cards/StorageCard.vue +++ b/src/components/cards/StorageCard.vue @@ -8,6 +8,8 @@ import rclone_png from '@images/misc/rclone.png' import api from '@/api' import AliyunAuthDialog from '../dialog/AliyunAuthDialog.vue' import U115AuthDialog from '../dialog/U115AuthDialog.vue' +import RcloneConfigDialog from '../dialog/RcloneConfigDialog.vue' +import { useToast } from 'vue-toast-notification' // 定义输入 const props = defineProps({ @@ -17,6 +19,12 @@ const props = defineProps({ }, }) +// 定义事件 +const emit = defineEmits(['done']) + +// 提示信息 +const $toast = useToast() + // 存储总空间 const total = ref(0) @@ -27,6 +35,8 @@ const available = ref(0) const aliyunAuthDialog = ref(false) // 115网盘认证对话框 const u115AuthDialog = ref(false) +// Rclone配置对话框 +const rcloneConfigDialog = ref(false) // 打开存储对话框 function openStorageDialog() { @@ -37,6 +47,12 @@ function openStorageDialog() { case 'u115': u115AuthDialog.value = true break + case 'rclone': + rcloneConfigDialog.value = true + break + default: + $toast.info('此存储类型无需配置参数') + break } } @@ -72,6 +88,14 @@ async function queryStorage() { } } +// 完成配置后的处理 +function handleDone() { + aliyunAuthDialog.value = false + u115AuthDialog.value = false + rcloneConfigDialog.value = false + emit('done') +} + onMounted(() => { queryStorage() }) @@ -94,12 +118,14 @@ onMounted(() => { v-if="aliyunAuthDialog" v-model="aliyunAuthDialog" @close="aliyunAuthDialog = false" - @done="aliyunAuthDialog = false" + @done="handleDone" /> - + diff --git a/src/components/dialog/RcloneConfigDialog.vue b/src/components/dialog/RcloneConfigDialog.vue new file mode 100644 index 00000000..6b163beb --- /dev/null +++ b/src/components/dialog/RcloneConfigDialog.vue @@ -0,0 +1,60 @@ + + + diff --git a/src/views/dashboard/AnalyticsStorage.vue b/src/views/dashboard/AnalyticsStorage.vue index 2b141bea..2feaf3a5 100644 --- a/src/views/dashboard/AnalyticsStorage.vue +++ b/src/views/dashboard/AnalyticsStorage.vue @@ -59,7 +59,6 @@ onMounted(() => {

- diff --git a/src/views/setting/AccountSettingDirectory.vue b/src/views/setting/AccountSettingDirectory.vue index bc69e74b..564d7bcc 100644 --- a/src/views/setting/AccountSettingDirectory.vue +++ b/src/views/setting/AccountSettingDirectory.vue @@ -128,7 +128,7 @@ onMounted(() => { :component-data="{ 'class': 'grid gap-3 grid-app-card' }" >