fix: 修复请求间隔问题

This commit is contained in:
奔跑的面条 2022-07-20 18:14:11 +08:00
parent e3984e672d
commit 3bfdfea016
2 changed files with 16 additions and 17 deletions

View File

@ -25,7 +25,11 @@ export const useChartDataFetch = (
const requestIntervalFn = () => { const requestIntervalFn = () => {
const chartEditStore = useChartEditStore() const chartEditStore = useChartEditStore()
const { requestOriginUrl, requestInterval, requestIntervalUnit } = toRefs(chartEditStore.getRequestGlobalConfig) const {
requestOriginUrl,
requestIntervalUnit: globalUnit,
requestInterval: globalRequestInterval
} = toRefs(chartEditStore.getRequestGlobalConfig)
// 组件类型 // 组件类型
const { chartFrame } = targetComponent.chartConfig const { chartFrame } = targetComponent.chartConfig
// 请求配置 // 请求配置
@ -33,23 +37,17 @@ export const useChartDataFetch = (
requestDataType, requestDataType,
requestHttpType, requestHttpType,
requestUrl, requestUrl,
requestIntervalUnit: targetUnit,
requestInterval: targetInterval requestInterval: targetInterval
} = toRefs(targetComponent.request) } = toRefs(targetComponent.request)
// 非请求类型 // 非请求类型
if ( if (requestDataType.value !== RequestDataTypeEnum.AJAX) return
requestDataType.value !== RequestDataTypeEnum.AJAX ||
!requestInterval ||
!requestInterval.value ||
!targetInterval ||
!targetInterval.value
)
return
try { try {
// 处理地址 // 处理地址
// @ts-ignore // @ts-ignore
if (requestUrl?.value && requestInterval && requestInterval.value > 0) { if (requestUrl?.value) {
// requestOriginUrl 允许为空 // requestOriginUrl 允许为空
const completePath = requestOriginUrl && requestOriginUrl.value + requestUrl.value const completePath = requestOriginUrl && requestOriginUrl.value + requestUrl.value
if (!completePath) return if (!completePath) return
@ -81,11 +79,12 @@ export const useChartDataFetch = (
// 立即调用 // 立即调用
fetchFn() fetchFn()
// 开启定时 // 定时时间
const time = targetInterval && targetInterval.value ? targetInterval.value : requestInterval.value const time = targetInterval && targetInterval.value ? targetInterval.value : globalRequestInterval.value
// 单位
// 处理单位时间 const unit = targetInterval && targetInterval.value ? targetUnit.value : globalUnit.value
fetchInterval = setInterval(fetchFn, intervalUnitHandle(time, requestIntervalUnit.value)) // 开启轮询
if (time) fetchInterval = setInterval(fetchFn, intervalUnitHandle(time, unit))
} }
} catch (error) {} } catch (error) {}
} }

View File

@ -13,13 +13,13 @@
</setting-item> </setting-item>
<setting-item name="组件间隔(高级)"> <setting-item name="组件间隔(高级)">
<n-input size="small" :placeholder="`${requestInterval}` || '暂无'" :disabled="true"> <n-input size="small" :placeholder="`${requestInterval || '暂无'}`" :disabled="true">
<template #suffix> {{ SelectHttpTimeNameObj[requestIntervalUnit] }} </template> <template #suffix> {{ SelectHttpTimeNameObj[requestIntervalUnit] }} </template>
</n-input> </n-input>
</setting-item> </setting-item>
<setting-item name="全局间隔(默认)"> <setting-item name="全局间隔(默认)">
<n-input size="small" :placeholder="`${GlobalRequestInterval}` || '暂无'" :disabled="true"> <n-input size="small" :placeholder="`${GlobalRequestInterval || '暂无'} `" :disabled="true">
<template #suffix> {{ SelectHttpTimeNameObj[GlobalRequestIntervalUnit] }} </template> <template #suffix> {{ SelectHttpTimeNameObj[GlobalRequestIntervalUnit] }} </template>
</n-input> </n-input>
</setting-item> </setting-item>