Merge pull request #65 from thofx/thofx_fix_ui

This commit is contained in:
jxxghp
2023-12-28 20:07:51 +08:00
committed by GitHub
2 changed files with 110 additions and 69 deletions
+58 -21
View File
@@ -3,42 +3,79 @@ import api from '@/api'
import FileBrowser from '@/components/FileBrowser.vue'
const endpoints = {
list: { url: '/filebrowser/list?path={path}&sort={sort}', method: 'get' },
mkdir: { url: '/filebrowser/mkdir?path={path}', method: 'get' },
delete: { url: '/filebrowser/delete?path={path}', method: 'get' },
download: { url: '/filebrowser/download?path={path}', method: 'get' },
image: { url: '/filebrowser/image?path={path}', method: 'get' },
rename: { url: '/filebrowser/rename?path={path}&new_name={newname}', method: 'get' },
list: {
url: '/filebrowser/list?path={path}&sort={sort}',
method: 'get',
},
mkdir: {
url: '/filebrowser/mkdir?path={path}',
method: 'get',
},
delete: {
url: '/filebrowser/delete?path={path}',
method: 'get',
},
download: {
url: '/filebrowser/download?path={path}',
method: 'get',
},
image: {
url: '/filebrowser/image?path={path}',
method: 'get',
},
rename: {
url: '/filebrowser/rename?path={path}&new_name={newname}',
method: 'get',
},
}
// 读取下载目录
const path = ref('/')
const path: Ref<string | undefined> = ref()
// 调用API,加载当前系统环境设置
async function loadSystemSettings() {
try {
const result: { [key: string]: any } = await api.get('system/env')
if (result.success)
path.value = result.data?.DOWNLOAD_PATH || '/'
if (path.value && !path.value.endsWith('/'))
path.value += '/'
}
catch (error) {
console.log(error)
}
function loadSystemSettings(): Promise<string> {
return new Promise((resolve, reject) => {
api
.get('system/env')
.then((result: any) => {
let path = '/'
if (result.success)
path = result.data?.DOWNLOAD_PATH || '/'
if (!path.endsWith('/'))
path += '/'
resolve(path)
})
.catch(error => reject(error))
})
}
function pathChanged(_path: string) {
path.value = _path
}
onBeforeMount(async () => {
await loadSystemSettings()
onMounted(() => {
loadSystemSettings()
.then((res) => {
path.value = res
})
.catch((error) => {
console.error(error)
path.value = '/'
})
})
</script>
<template>
<div>
<FileBrowser storages="local" :tree="false" :path="path" :endpoints="endpoints" :axios="api" @pathchanged="pathChanged" />
<FileBrowser
storages="local"
:tree="false"
:path="path"
:endpoints="endpoints"
:axios="api"
@pathchanged="pathChanged"
/>
</div>
</template>