From e6b26cc8311e2f2a27eb899cc8f34c58dda0fef9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=83=E7=9F=B3?= Date: Sun, 9 Aug 2026 14:40:54 +0800 Subject: [PATCH 1/3] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=20AList=20?= =?UTF-8?q?=E5=AD=98=E5=82=A8=E9=80=89=E9=A1=B9=20(#645)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/constants.ts | 5 +++++ src/components/cards/DirectoryCard.vue | 1 + src/components/cards/StorageCard.vue | 8 +++++++- src/components/dialog/AlistConfigDialog.vue | 14 +++++++++----- src/locales/en-US.ts | 5 +++++ src/locales/zh-CN.ts | 5 +++++ src/locales/zh-TW.ts | 5 +++++ 7 files changed, 37 insertions(+), 6 deletions(-) diff --git a/src/api/constants.ts b/src/api/constants.ts index 86322c4e..ecd4308c 100644 --- a/src/api/constants.ts +++ b/src/api/constants.ts @@ -26,6 +26,11 @@ export const storageAttributes = [ icon: 'mdi-server-network-outline', remote: true, }, + { + type: 'alistgo', + icon: 'mdi-server-network-outline', + remote: true, + }, { type: 'smb', icon: 'mdi-folder-network-outline', diff --git a/src/components/cards/DirectoryCard.vue b/src/components/cards/DirectoryCard.vue index 76365b72..0e3328b7 100644 --- a/src/components/cards/DirectoryCard.vue +++ b/src/components/cards/DirectoryCard.vue @@ -12,6 +12,7 @@ const STORAGE_ACCENT_COLOR_MAP = { u115: '#17B26A', rclone: '#6675FF', alist: '#12B8D7', + alistgo: '#1BA0D8', smb: '#3B82F6', } diff --git a/src/components/cards/StorageCard.vue b/src/components/cards/StorageCard.vue index caf88e46..5b400bd0 100644 --- a/src/components/cards/StorageCard.vue +++ b/src/components/cards/StorageCard.vue @@ -6,6 +6,7 @@ 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/openlist.svg' +import alistgo_png from '@images/misc/alist.svg' import custom_png from '@images/misc/database.png' import smb_png from '@images/misc/smb.png' import api from '@/api' @@ -58,6 +59,7 @@ function openStorageDialog() { u115: U115AuthDialog, rclone: RcloneConfigDialog, alist: AlistConfigDialog, + alistgo: AlistConfigDialog, smb: SmbConfigDialog, } @@ -69,7 +71,9 @@ function openStorageDialog() { const dialog = dialogMap[props.storage.type] || StorageCustomConfigDialog const dialogProps = dialog === StorageCustomConfigDialog ? { storage: props.storage } - : { conf: props.storage.config || {} } + : dialog === AlistConfigDialog + ? { conf: props.storage.config || {}, type: props.storage.type } + : { conf: props.storage.config || {} } openSharedDialog( dialog, @@ -94,6 +98,8 @@ const getIcon = computed(() => { return rclone_png case 'alist': return alist_png + case 'alistgo': + return alistgo_png case 'smb': return smb_png default: diff --git a/src/components/dialog/AlistConfigDialog.vue b/src/components/dialog/AlistConfigDialog.vue index 1c961710..6f9bbdf1 100644 --- a/src/components/dialog/AlistConfigDialog.vue +++ b/src/components/dialog/AlistConfigDialog.vue @@ -15,6 +15,10 @@ const props = defineProps({ type: Object as PropType<{ [key: string]: any }>, required: true, }, + type: { + type: String, + default: 'alist', + }, }) // 定义事件 @@ -29,7 +33,7 @@ async function handleDone() { // 重置配置 async function handleReset() { try { - const result: { [key: string]: any } = await api.get('/storage/reset/alist') + const result: { [key: string]: any } = await api.get(`/storage/reset/${props.type}`) if (result.success) { // 重置成功 handleDone() @@ -62,7 +66,7 @@ const sourceItems = [ // 保存alist设置 async function savaAlistConfig() { try { - await api.post(`storage/save/alist`, props.conf) + await api.post(`storage/save/${props.type}`, props.conf) } catch (e) { console.error(e) } @@ -78,7 +82,7 @@ async function savaAlistConfig() { - {{ t('dialog.alistConfig.title') }} + {{ t(`dialog.${props.type}Config.title`) }} @@ -87,8 +91,8 @@ async function savaAlistConfig() { diff --git a/src/locales/en-US.ts b/src/locales/en-US.ts index 7e59cca7..6ce96854 100644 --- a/src/locales/en-US.ts +++ b/src/locales/en-US.ts @@ -1401,6 +1401,7 @@ export default { u115: '115 Cloud', rclone: 'RClone', alist: 'OpenList', + alistgo: 'AList', smb: 'SMB Network Share', custom: 'Custom', }, @@ -2916,6 +2917,10 @@ export default { complete: 'Complete', reset: 'Reset', }, + alistgoConfig: { + title: 'AList Configuration', + serverUrl: 'AList server address', + }, smbConfig: { title: 'SMB Network Share Configuration', host: 'SMB Server Address', diff --git a/src/locales/zh-CN.ts b/src/locales/zh-CN.ts index 27107631..0ff3625d 100644 --- a/src/locales/zh-CN.ts +++ b/src/locales/zh-CN.ts @@ -1391,6 +1391,7 @@ export default { u115: '115网盘', rclone: 'RClone', alist: 'OpenList', + alistgo: 'AList', smb: 'SMB网络共享', custom: '自定义', }, @@ -2861,6 +2862,10 @@ export default { complete: '完成', reset: '重置', }, + alistgoConfig: { + title: 'AList配置', + serverUrl: 'AList服务地址', + }, smbConfig: { title: 'SMB网络共享配置', host: 'SMB服务器地址', diff --git a/src/locales/zh-TW.ts b/src/locales/zh-TW.ts index b6a994bb..a54cb24d 100644 --- a/src/locales/zh-TW.ts +++ b/src/locales/zh-TW.ts @@ -1389,6 +1389,7 @@ export default { u115: '115網盤', rclone: 'RClone', alist: 'OpenList', + alistgo: 'AList', smb: 'SMB網路共享', custom: '自定義', }, @@ -2860,6 +2861,10 @@ export default { complete: '完成', reset: '重置', }, + alistgoConfig: { + title: 'AList配置', + serverUrl: 'AList服務地址', + }, smbConfig: { title: 'SMB網路共享配置', host: 'SMB伺服器地址', From 309ce3c92e673622e813b2dccb34bab9af9a3376 Mon Sep 17 00:00:00 2001 From: InfinityPacer <160988576+InfinityPacer@users.noreply.github.com> Date: Mon, 10 Aug 2026 06:53:56 +0800 Subject: [PATCH 2/3] fix(a11y): label dialog close buttons (#654) --- src/@core/components/DialogCloseBtn.vue | 10 +++-- .../__tests__/DialogCloseBtn.spec.ts | 40 +++++++++++++++++++ .../dialog/__tests__/SiteImportDialog.spec.ts | 4 +- 3 files changed, 49 insertions(+), 5 deletions(-) create mode 100644 src/@core/components/__tests__/DialogCloseBtn.spec.ts diff --git a/src/@core/components/DialogCloseBtn.vue b/src/@core/components/DialogCloseBtn.vue index 909ff6bb..2acda52c 100644 --- a/src/@core/components/DialogCloseBtn.vue +++ b/src/@core/components/DialogCloseBtn.vue @@ -1,12 +1,13 @@