import { defHttp } from '@jeesite/core/utils/http/axios'; import { useGlobSetting } from '@jeesite/core/hooks/setting'; import type { TimeSeries, TimeSeriesDetailDTO, TimeSeriesPageDTO } from './types/dto'; import type { TimeSeriesDetailQuery, TimeSeriesQuery } from './types/query'; const { adminPath } = useGlobSetting(); type TimeSeriesListResult = | TimeSeriesPageDTO | TimeSeries[] | { data?: TimeSeries[] | TimeSeriesPageDTO; list?: TimeSeries[]; records?: TimeSeries[]; total?: number; }; type TimeSeriesDetailResult = | TimeSeriesDetailDTO | { data?: TimeSeriesDetailDTO; detail?: TimeSeriesDetailDTO; record?: TimeSeriesDetailDTO; row?: TimeSeriesDetailDTO; obj?: TimeSeriesDetailDTO; result?: TimeSeriesDetailDTO; }; type TimeSeriesJumpResult = | Record | { data?: Record; query?: Record; detail?: Record; record?: Record; row?: Record; obj?: Record; result?: Record; }; const normalizeRequestParams = (params: T) => Object.entries(params as Record).reduce>((acc, [key, value]) => { if (value === undefined || value === null || value === '') return acc; if (Array.isArray(value) && !value.length) return acc; acc[key] = value; return acc; }, {}); /** * 获取行为时空时间轴列表 */ export const timeSeriesList = async (params: TimeSeriesQuery) => { const query = normalizeRequestParams(params); return defHttp.postJson( { url: adminPath + '/otg/timeSeries/list', data: query }, { errorMessageMode: 'none' }, ); }; /** * 获取行为时空时间轴详情 */ export const timeSeriesDetail = async (params: TimeSeriesDetailQuery) => { const query = normalizeRequestParams(params); return defHttp.postJson( { url: adminPath + '/otg/timeSeries/detailTimeSeries', data: query }, { errorMessageMode: 'none' }, ); }; /** * 行为时空明细跳转 */ export const timeSeriesJump = async (params: TimeSeriesQuery) => { const query = normalizeRequestParams(params); return defHttp.postJson( { url: adminPath + '/otg/timeSeries/jump', data: query }, { errorMessageMode: 'none' }, ); };