diff --git a/src/hooks/useChartDataFetch.hook.ts b/src/hooks/useChartDataFetch.hook.ts index 9450926..db767a0 100644 --- a/src/hooks/useChartDataFetch.hook.ts +++ b/src/hooks/useChartDataFetch.hook.ts @@ -1,4 +1,4 @@ -import { ref, toRefs, toRaw, watch } from 'vue' +import { ref, toRaw, toRefs, watch } from 'vue' import type VChart from 'vue-echarts' import { customizeHttp } from '@/api/http' import { useChartDataPondFetch } from '@/hooks/' @@ -6,14 +6,13 @@ import { RequestConfigType, RequestDataSourceConfig } from '@/store/modules/chartEditStore/chartEditStore.d' -import { CreateComponentType, ChartFrameEnum } from '@/packages/index.d' +import { ChartFrameEnum, CreateComponentType } from '@/packages/index.d' import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore' import { RequestAJAXTypes, RequestDataTypeEnum } from '@/enums/httpEnum' -import { isPreview, newFunctionHandle, intervalUnitHandle } from '@/utils' +import { intervalUnitHandle, isPreview, newFunctionHandle } from '@/utils' import { setOption } from '@/packages/public/chart' import { isNil } from 'lodash' import dayjs from "dayjs"; -import { debounce } from "lodash"; // 获取类型 type ChartEditStoreType = typeof useChartEditStore @@ -31,7 +30,6 @@ export const useChartDataFetch = ( ) => { const vChartRef = ref(null) let fetchInterval: any = 0 - console.log("vChartRef:", vChartRef) // 数据池 const { addGlobalDataInterface } = useChartDataPondFetch() @@ -47,9 +45,8 @@ export const useChartDataFetch = ( } } - watch(() => targetComponent.request, () => { + watch(() => targetComponent.request.requestContentType, () => { if (isPreview()) return - console.log("监听到 request 更改:", targetComponent.request) requestIntervalFn() }, { deep: true }) @@ -114,17 +111,7 @@ export const useChartDataFetch = ( } } - const debouncedFetch = createDebouncedFetch(fetchFn, targetComponent.requestSource) - watch( - () => targetComponent.request.requestParams, - () => { - debouncedFetch() - }, - { - immediate: true, - deep: true - } - ) + createFetchInterval(fetchFn, targetComponent.request) } // eslint-disable-next-line no-empty } catch (error) { @@ -146,24 +133,14 @@ export const useChartDataFetch = ( console.log(station.value) } - const debouncedFetch = createDebouncedFetch(fetchFn, targetComponent.requestSource) - watch( - () => targetComponent.requestSource, - () => { - debouncedFetch() - }, - { - immediate: true, - deep: true - } - ) + createFetchInterval(fetchFn, targetComponent.requestSource) } catch (error) { console.log('SourceRequestIntervalFn Error:', error) } } - function createDebouncedFetch(fetchFn: () => void, targetComponentRequest: RequestConfigType | RequestDataSourceConfig) { + function createFetchInterval(fetchFn: () => void, targetComponentRequest: RequestConfigType | RequestDataSourceConfig) { const chartEditStore = useChartEditStore() const { requestIntervalUnit: targetUnit, @@ -176,16 +153,15 @@ export const useChartDataFetch = ( requestIntervalUnit: globalUnit, requestInterval: globalRequestInterval } = toRefs(chartEditStore.getRequestGlobalConfig) - return debounce(() => { - const time = targetInterval && !isNil(targetInterval.value) ? targetInterval.value : globalRequestInterval.value - // // 单位 - const unit = targetInterval && !isNil(targetInterval.value) ? targetUnit.value : globalUnit.value - // // 开启轮询 - if (time) { - fetchInterval = setInterval(fetchFn, intervalUnitHandle(time, unit)) - } - fetchFn() - }, 500) + fetchFn() + // 定时时间 + const time = targetInterval && !isNil(targetInterval.value) ? targetInterval.value : globalRequestInterval.value + // 单位 + const unit = targetInterval && !isNil(targetInterval.value) ? targetUnit.value : globalUnit.value + // 开启轮询 + if (time && isPreview()) { + fetchInterval = setInterval(fetchFn, intervalUnitHandle(time, unit)) + } } if (isPreview()) { @@ -199,6 +175,5 @@ export const useChartDataFetch = ( } else { requestIntervalFn() } - console.log("vChartRef:", vChartRef) return { vChartRef } } \ No newline at end of file