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"
/>
-