otgApi.ts 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. import { defHttp } from '@jeesite/core/utils/http/axios';
  2. import { useGlobSetting } from '@jeesite/core/hooks/setting';
  3. import type { TimeSeries, TimeSeriesDetailDTO, TimeSeriesPageDTO } from './types/dto';
  4. import type { TimeSeriesDetailQuery, TimeSeriesQuery } from './types/query';
  5. const { adminPath } = useGlobSetting();
  6. type TimeSeriesListResult =
  7. | TimeSeriesPageDTO
  8. | TimeSeries[]
  9. | {
  10. data?: TimeSeries[] | TimeSeriesPageDTO;
  11. list?: TimeSeries[];
  12. records?: TimeSeries[];
  13. total?: number;
  14. };
  15. type TimeSeriesDetailResult =
  16. | TimeSeriesDetailDTO
  17. | {
  18. data?: TimeSeriesDetailDTO;
  19. detail?: TimeSeriesDetailDTO;
  20. record?: TimeSeriesDetailDTO;
  21. row?: TimeSeriesDetailDTO;
  22. obj?: TimeSeriesDetailDTO;
  23. result?: TimeSeriesDetailDTO;
  24. };
  25. type TimeSeriesJumpResult =
  26. | Record<string, unknown>
  27. | {
  28. data?: Record<string, unknown>;
  29. query?: Record<string, unknown>;
  30. detail?: Record<string, unknown>;
  31. record?: Record<string, unknown>;
  32. row?: Record<string, unknown>;
  33. obj?: Record<string, unknown>;
  34. result?: Record<string, unknown>;
  35. };
  36. const normalizeRequestParams = <T extends object>(params: T) =>
  37. Object.entries(params as Record<string, unknown>).reduce<Record<string, unknown>>((acc, [key, value]) => {
  38. if (value === undefined || value === null || value === '') return acc;
  39. if (Array.isArray(value) && !value.length) return acc;
  40. acc[key] = value;
  41. return acc;
  42. }, {});
  43. /**
  44. * 获取行为时空时间轴列表
  45. */
  46. export const timeSeriesList = async (params: TimeSeriesQuery) => {
  47. const query = normalizeRequestParams(params);
  48. return defHttp.postJson<TimeSeriesListResult>(
  49. { url: adminPath + '/otg/timeSeries/list', data: query },
  50. { errorMessageMode: 'none' },
  51. );
  52. };
  53. /**
  54. * 获取行为时空时间轴详情
  55. */
  56. export const timeSeriesDetail = async (params: TimeSeriesDetailQuery) => {
  57. const query = normalizeRequestParams(params);
  58. return defHttp.postJson<TimeSeriesDetailResult>(
  59. { url: adminPath + '/otg/timeSeries/detailTimeSeries', data: query },
  60. { errorMessageMode: 'none' },
  61. );
  62. };
  63. /**
  64. * 行为时空明细跳转
  65. */
  66. export const timeSeriesJump = async (params: TimeSeriesQuery) => {
  67. const query = normalizeRequestParams(params);
  68. return defHttp.postJson<TimeSeriesJumpResult>(
  69. { url: adminPath + '/otg/timeSeries/jump', data: query },
  70. { errorMessageMode: 'none' },
  71. );
  72. };