From e003b6f9a7e65dd2dbffb4d4f4df318e2c924179 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Tue, 18 Jun 2024 12:01:38 +0800 Subject: [PATCH] fix aliyunpan ui --- src/components/filebrowser/FileList.vue | 7 +++++-- src/components/filebrowser/FileToolbar.vue | 2 +- src/components/input/PathField.vue | 4 +++- src/views/reorganize/FileBrowserView.vue | 5 +++-- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/components/filebrowser/FileList.vue b/src/components/filebrowser/FileList.vue index 29afe662..ff0ee8bd 100644 --- a/src/components/filebrowser/FileList.vue +++ b/src/components/filebrowser/FileList.vue @@ -112,6 +112,7 @@ async function load() { .replace(/{path}/g, encodeURIComponent(inProps.path || '')) .replace(/{sort}/g, inProps.sort || 'name') .replace(/{fileid}/g, inProps.fileid || '') + .replace(/{filetype}/g, isDir.value ? 'dir' : 'file') const config = { url, method: inProps.endpoints?.list.method || 'get', @@ -134,7 +135,7 @@ async function deleteItem(item: FileItem) { const url = inProps.endpoints?.delete.url .replace(/{storage}/g, inProps.storage) .replace(/{path}/g, encodeURIComponent(item.path)) - .replace(/{fileid}/g, inProps.fileid || '') + .replace(/{fileid}/g, item.fileid || '') const config = { url, @@ -151,6 +152,7 @@ async function deleteItem(item: FileItem) { // 切换路径 function changePath(item: FileItem) { + item.path = inProps.path + item.name + (item.type === 'dir' ? '/' : '') emit('pathchanged', item) } @@ -191,8 +193,9 @@ async function rename() { const url = inProps.endpoints?.rename.url .replace(/{storage}/g, inProps.storage) .replace(/{path}/g, encodeURIComponent(currentItem.value?.path || '')) - .replace(/{fileid}/g, inProps.fileid || '') + .replace(/{fileid}/g, currentItem.value?.fileid || '') .replace(/{newname}/g, encodeURIComponent(newName.value)) + .replace(/{filetype}/g, currentItem.value?.type || 'file') const config = { url, diff --git a/src/components/filebrowser/FileToolbar.vue b/src/components/filebrowser/FileToolbar.vue index 018738d4..71b90e09 100644 --- a/src/components/filebrowser/FileToolbar.vue +++ b/src/components/filebrowser/FileToolbar.vue @@ -148,7 +148,7 @@ const sortIcon = computed(() => { variant="text" :input-value="index === pathSegments.length - 1" class="px-1 d-none d-md-block" - @click="changePath(segment.path, inProps.fileidstack[index])" + @click="changePath(segment.path, inProps.fileidstack[index + 1])" > {{ segment.name }} diff --git a/src/components/input/PathField.vue b/src/components/input/PathField.vue index a48c826e..cb84267a 100644 --- a/src/components/input/PathField.vue +++ b/src/components/input/PathField.vue @@ -32,13 +32,15 @@ const treeItems = ref([ extension: '', size: 0, modify_time: 0, + fileid: '', + parent_fileid: '', }, ]) // 拉取子目录 async function fetchDirs(item: any) { return api - .get('/filebrowser/listdir?path=' + item.path) + .get('/filebrowser/local/listdir?path=' + item.path) .then((data: any) => { item.children.push(...data) }) diff --git a/src/views/reorganize/FileBrowserView.vue b/src/views/reorganize/FileBrowserView.vue index b15b9aab..9b5708bd 100644 --- a/src/views/reorganize/FileBrowserView.vue +++ b/src/views/reorganize/FileBrowserView.vue @@ -5,7 +5,7 @@ import FileBrowser from '@/components/FileBrowser.vue' const endpoints = { list: { - url: '/filebrowser/{storage}/list?path={path}&sort={sort}&fileid={fileid}', + url: '/filebrowser/{storage}/list?path={path}&sort={sort}&fileid={fileid}&filetype={filetype}', method: 'get', }, mkdir: { @@ -25,7 +25,7 @@ const endpoints = { method: 'get', }, rename: { - url: '/filebrowser/{storage}/rename?path={path}&new_name={newname}&fileid={fileid}', + url: '/filebrowser/{storage}/rename?path={path}&new_name={newname}&fileid={fileid}&filetype={filetype}', method: 'get', }, } @@ -93,6 +93,7 @@ async function loadDownloadDirectories() { function pathChanged(item: FileItem) { path.value = item.path fileid.value = item.fileid + if (item.fileid == 'root') return if (fileidstack.value.includes(item.fileid)) { fileidstack.value = fileidstack.value.slice(0, fileidstack.value.indexOf(item.fileid) + 1) } else {