feat: Add allowRefresh prop to DownloaderCard component

This commit is contained in:
jxxghp
2024-09-08 13:57:58 +08:00
parent 30c3ad6c90
commit ee10616acf
2 changed files with 19 additions and 4 deletions
+8 -1
View File
@@ -12,6 +12,11 @@ const props = defineProps({
type: Object as PropType<DownloaderConf>, type: Object as PropType<DownloaderConf>,
required: true, required: true,
}, },
// 是否允许刷新数据
allowRefresh: {
type: Boolean,
default: true,
},
}) })
// 定义触发的自定义事件 // 定义触发的自定义事件
@@ -43,6 +48,9 @@ const downloaderInfo = ref<DownloaderConf>({
// 调用API查询下载器数据 // 调用API查询下载器数据
async function loadDownloaderInfo() { async function loadDownloaderInfo() {
if (!props.allowRefresh) {
return
}
try { try {
const res: DownloaderInfo = await api.get('dashboard/downloader', { const res: DownloaderInfo = await api.get('dashboard/downloader', {
params: { params: {
@@ -99,7 +107,6 @@ function onClose() {
onMounted(async () => { onMounted(async () => {
if (props.downloader.enabled) { if (props.downloader.enabled) {
await loadDownloaderInfo() await loadDownloaderInfo()
timeoutTimer = setTimeout(loadDownloaderInfo, 3000)
} }
}) })
+11 -3
View File
@@ -13,8 +13,8 @@ const SystemSettings = ref({
APP_DOMAIN: '', APP_DOMAIN: '',
}) })
// 从 provide 中获取全局设置 // 是否发送请求的总开关
const globalSettings: any = inject('globalSettings') const isRequest = ref(true)
// 选中的媒体服务器 // 选中的媒体服务器
const mediaServers = ref<MediaServerConf[]>([]) const mediaServers = ref<MediaServerConf[]>([])
@@ -149,6 +149,14 @@ onMounted(() => {
loadMediaServerSetting() loadMediaServerSetting()
loadSystemSettings() loadSystemSettings()
}) })
onActivated(async () => {
isRequest.value = true
})
onDeactivated(() => {
isRequest.value = false
})
</script> </script>
<template> <template>
@@ -197,7 +205,7 @@ onMounted(() => {
:component-data="{ 'class': 'grid gap-3 grid-app-card' }" :component-data="{ 'class': 'grid gap-3 grid-app-card' }"
> >
<template #item="{ element }"> <template #item="{ element }">
<DownloaderCard :downloader="element" @close="removeDownloader(element)" @change="onDownloaderChange" /> <DownloaderCard :downloader="element" @close="removeDownloader(element)" @change="onDownloaderChange" :allow-refresh="isRequest" />
</template> </template>
</draggable> </draggable>
</VCardText> </VCardText>