diff --git a/src/api/constants.ts b/src/api/constants.ts
index 1b51bf7f..06d7fb1f 100644
--- a/src/api/constants.ts
+++ b/src/api/constants.ts
@@ -15,6 +15,10 @@ export const storageOptions = [
title: 'Rclone网盘',
value: 'rclone',
},
+ {
+ title: 'AList',
+ value: 'alist',
+ },
]
export const innerFilterRules = [
diff --git a/src/assets/images/misc/alist.svg b/src/assets/images/misc/alist.svg
new file mode 100644
index 00000000..37d5fdcd
--- /dev/null
+++ b/src/assets/images/misc/alist.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/src/components/cards/StorageCard.vue b/src/components/cards/StorageCard.vue
index fefbe3df..7d060224 100644
--- a/src/components/cards/StorageCard.vue
+++ b/src/components/cards/StorageCard.vue
@@ -5,10 +5,12 @@ import storage_png from '@images/misc/storage.png'
import alipan_png from '@images/misc/alipan.webp'
import u115_png from '@images/misc/u115.png'
import rclone_png from '@images/misc/rclone.png'
+import alist_png from '@images/misc/alist.svg'
import api from '@/api'
import AliyunAuthDialog from '../dialog/AliyunAuthDialog.vue'
import U115AuthDialog from '../dialog/U115AuthDialog.vue'
import RcloneConfigDialog from '../dialog/RcloneConfigDialog.vue'
+import AlistConfigDialog from '../dialog/AlistConfigDialog.vue'
import { useToast } from 'vue-toast-notification'
// 定义输入
@@ -42,6 +44,8 @@ const aliyunAuthDialog = ref(false)
const u115AuthDialog = ref(false)
// Rclone配置对话框
const rcloneConfigDialog = ref(false)
+// AList配置对话框
+const aListConfigDialog = ref(false)
// 打开存储对话框
function openStorageDialog() {
@@ -55,6 +59,9 @@ function openStorageDialog() {
case 'rclone':
rcloneConfigDialog.value = true
break
+ case 'alist':
+ aListConfigDialog.value = true
+ break
default:
$toast.info('此存储类型无需配置参数,请直接配置目录!')
break
@@ -72,6 +79,8 @@ const getIcon = computed(() => {
return u115_png
case 'rclone':
return rclone_png
+ case 'alist':
+ return alist_png
default:
return storage_png
}
@@ -109,6 +118,7 @@ function handleDone() {
aliyunAuthDialog.value = false
u115AuthDialog.value = false
rcloneConfigDialog.value = false
+ aListConfigDialog.value = false
emit('done')
}
@@ -144,4 +154,11 @@ onMounted(() => {
@close="rcloneConfigDialog = false"
@done="handleDone"
/>
+
diff --git a/src/components/dialog/AlistConfigDialog.vue b/src/components/dialog/AlistConfigDialog.vue
new file mode 100644
index 00000000..60890c08
--- /dev/null
+++ b/src/components/dialog/AlistConfigDialog.vue
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 完成
+
+
+
+