From 8149e3589a8b8111a54eab68546b1c598dfb50df Mon Sep 17 00:00:00 2001 From: limengnan <420004014@qq.com> Date: Mon, 23 Jun 2025 17:36:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E5=89=8D=E7=AB=AFapi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/core-frontend/src/api/about.ts | 1 + core/core-frontend/src/api/chart.ts | 29 +++++++- core/core-frontend/src/api/dataset.ts | 71 +++++++++++++++---- core/core-frontend/src/api/datasource.ts | 10 +++ core/core-frontend/src/api/login.ts | 2 +- .../src/api/setting/sysParameter.ts | 2 + core/core-frontend/src/api/sync/syncTask.ts | 1 + core/core-frontend/src/api/user.ts | 3 + .../api/visualization/dataVisualization.ts | 29 +++++++- .../src/api/visualization/linkJump.ts | 4 +- .../src/api/visualization/linkage.ts | 4 +- 11 files changed, 135 insertions(+), 21 deletions(-) diff --git a/core/core-frontend/src/api/about.ts b/core/core-frontend/src/api/about.ts index 1a20032..fb3e7ef 100644 --- a/core/core-frontend/src/api/about.ts +++ b/core/core-frontend/src/api/about.ts @@ -3,3 +3,4 @@ import request from '@/config/axios' export const validateApi = data => request.post({ url: '/license/validate', data }) export const buildVersionApi = () => request.get({ url: '/license/version' }) export const updateInfoApi = data => request.post({ url: '/license/update', data }) +export const revertApi = () => request.post({ url: '/license/revert' }) diff --git a/core/core-frontend/src/api/chart.ts b/core/core-frontend/src/api/chart.ts index 0c5ce85..e60a63e 100644 --- a/core/core-frontend/src/api/chart.ts +++ b/core/core-frontend/src/api/chart.ts @@ -1,5 +1,6 @@ import request from '@/config/axios' - +import { originNameHandleWithArr, originNameHandleBackWithArr } from '@/utils/CalculateFields' +import { cloneDeep } from 'lodash-es' export interface Field { id: number | string datasourceId: number | string @@ -28,6 +29,7 @@ export interface ComponentInfo { export const getFieldByDQ = async (id, chartId, data): Promise => { return request.post({ url: `/chart/listByDQ/${id}/${chartId}`, data: data }).then(res => { + originNameHandleBackWithArr(res?.data, ['dimensionList', 'quotaList']) return res?.data }) } @@ -53,10 +55,33 @@ export const deleteChartFieldByChartId = async (chartId): Promise => // 通过图表对象获取数据 export const getData = async (data): Promise => { delete data.data - return request.post({ url: '/chartData/getData', data }).then(res => { + const copyData = cloneDeep(data) + const fields = [ + 'xAxis', + 'xAxisExt', + 'yAxis', + 'yAxisExt', + 'extBubble', + 'extLabel', + 'extStack', + 'extTooltip' + ] + const dataFields = ['fields', 'sourceFields'] + originNameHandleWithArr(copyData, fields) + return request.post({ url: '/chartData/getData', data: copyData }).then(res => { if (res.code === 0) { + originNameHandleBackWithArr(res?.data, fields) + // 动态计算字段在数据中,也需要转码 + originNameHandleWithArr(res?.data?.data, dataFields) + originNameHandleBackWithArr(res?.data?.data, dataFields) + originNameHandleBackWithArr(res?.data?.data?.left, ['fields']) + originNameHandleBackWithArr(res?.data?.data?.right, ['fields']) return res?.data } else { + originNameHandleBackWithArr(res, fields) + originNameHandleBackWithArr(res?.data, dataFields) + originNameHandleBackWithArr(res?.data?.left, ['fields']) + originNameHandleBackWithArr(res?.data?.right, ['fields']) return res } }) diff --git a/core/core-frontend/src/api/dataset.ts b/core/core-frontend/src/api/dataset.ts index 160b089..1e77e71 100644 --- a/core/core-frontend/src/api/dataset.ts +++ b/core/core-frontend/src/api/dataset.ts @@ -1,10 +1,17 @@ import request from '@/config/axios' +import { + originNameHandle, + originNameHandleBack, + originNameHandleBackWithArr +} from '@/utils/CalculateFields' import { type Field } from '@/api/chart' +import { cloneDeep } from 'lodash-es' import type { BusiTreeRequest } from '@/models/tree/TreeNode' import { nameTrim } from '@/utils/utils' export interface DatasetOrFolder { name: string action?: string + isCross?: boolean id?: number | string pid?: number | string appId?: number | string @@ -58,6 +65,7 @@ export interface Dataset { id: string pid: string name: string + isCross?: boolean union?: Array<{}> allFields?: Array<{}> } @@ -73,7 +81,12 @@ export interface Table { // edit export const saveDatasetTree = async (data: DatasetOrFolder): Promise => { nameTrim(data) - return request.post({ url: '/datasetTree/save', data }).then(res => { + const copyData = cloneDeep(data) + originNameHandle(copyData.allFields) + return request.post({ url: '/datasetTree/save', data: copyData }).then(res => { + if (res?.data?.allFields?.length) { + originNameHandleBack(res?.data?.allFields) + } return res?.data }) } @@ -81,7 +94,12 @@ export const saveDatasetTree = async (data: DatasetOrFolder): Promise // create export const createDatasetTree = async (data: DatasetOrFolder): Promise => { nameTrim(data) - return request.post({ url: '/datasetTree/create', data }).then(res => { + const copyData = cloneDeep(data) + originNameHandle(copyData.allFields) + return request.post({ url: '/datasetTree/create', data: copyData }).then(res => { + if (res?.data?.allFields?.length) { + originNameHandleBack(res?.data?.allFields) + } return res?.data }) } @@ -136,7 +154,8 @@ export const exportDatasetData = (data = {}) => { url: '/datasetTree/exportDataset', method: 'post', data: data, - loading: true + loading: true, + responseType: 'blob' }) } @@ -178,7 +197,16 @@ export const getTableField = async (data): Promise => { } export const getPreviewData = async (data): Promise => { - return request.post({ url: '/datasetData/previewData', data }).then(res => { + const copyData = cloneDeep(data) + originNameHandle(copyData.allFields) + return request.post({ url: '/datasetData/previewData', data: copyData }).then(res => { + if (res?.data?.allFields?.length) { + originNameHandleBack(res?.data?.allFields) + } + + if (res?.data?.data?.fields?.length) { + originNameHandleBack(res?.data?.data?.fields) + } return res?.data }) } @@ -197,6 +225,9 @@ export const getDatasetTotal = async (id): Promise => { export const getDatasetDetails = async (id): Promise => { return request.post({ url: `/datasetTree/details/${id}`, data: {} }).then(res => { + if (res?.data?.allFields?.length) { + originNameHandleBack(res?.data?.allFields) + } return res?.data }) } @@ -220,6 +251,9 @@ export const getDsDetails = async (data): Promise => { } export const getDsDetailsWithPerm = async (data): Promise => { return request.post({ url: '/datasetTree/detailWithPerm', data }).then(res => { + ;(res?.data || []).forEach(ele => { + originNameHandleBackWithArr(ele, ['dimensionList', 'quotaList']) + }) return res?.data }) } @@ -237,15 +271,22 @@ export const columnPermissionList = (page: number, limit: number, datasetId: num export const rowPermissionTargetObjList = (datasetId: number, type: string) => request.get({ url: '/dataset/rowPermissions/authObjs/' + datasetId + '/' + type }) -export const listFieldByDatasetGroup = (datasetId: number) => - request.post({ url: '/datasetField/listByDatasetGroup/' + datasetId }) +export const listFieldByDatasetGroup = (datasetId: number) => { + return request.post({ url: '/datasetField/listByDatasetGroup/' + datasetId }).then(res => { + originNameHandleBack(res?.data) + return res + }) +} export const multFieldValuesForPermissions = (data = {}) => { return request.post({ url: '/datasetField/multFieldValuesForPermissions', data }) } export const listFieldsWithPermissions = (datasetId: number) => { - return request.get({ url: '/datasetField/listWithPermissions/' + datasetId }) + return request.get({ url: '/datasetField/listWithPermissions/' + datasetId }).then(res => { + originNameHandleBack(res?.data) + return res + }) } export const copilotFields = (datasetId: number) => { @@ -302,11 +343,11 @@ export const getFunction = async (): Promise => { }) } -export const exportTasks = async (type): Promise => { - return request.post({ url: '/exportCenter/exportTasks/' + type, data: {} }).then(res => { - return res - }) -} +export const exportTasksRecords = () => + request.post({ url: `/exportCenter/exportTasks/records`, data: {} }) + +export const exportTasks = (page: number, limit: number, status: string) => + request.post({ url: `/exportCenter/exportTasks/${status}/${page}/${limit}`, data: {} }) export const exportRetry = async (id): Promise => { return request.post({ url: '/exportCenter/retry/' + id, data: {} }).then(res => { @@ -326,6 +367,12 @@ export const exportDelete = async (id): Promise => { }) } +export const generateDownloadUri = async (id): Promise => { + return request.get({ url: '/exportCenter/generateDownloadUri/' + id }).then(res => { + return res?.data + }) +} + export const exportDeleteAll = async (type, data): Promise => { return request.post({ url: '/exportCenter/deleteAll/' + type, data }).then(res => { return res?.data diff --git a/core/core-frontend/src/api/datasource.ts b/core/core-frontend/src/api/datasource.ts index 4a6530d..6c982e9 100644 --- a/core/core-frontend/src/api/datasource.ts +++ b/core/core-frontend/src/api/datasource.ts @@ -60,6 +60,12 @@ export const listDatasourceTables = async (data = {}): Promise => { }) } +export const getTableStatus = async (data = {}): Promise => { + return request.post({ url: '/datasource/getTableStatus', data }).then(res => { + return res + }) +} + export const getSchema = (data = {}) => { return request.post({ url: '/datasource/getSchema', data }) } @@ -175,6 +181,10 @@ export const uploadFile = async (data): Promise => { }) } +export const loadRemoteFile = async (data = {}) => { + return request.post({ url: '/datasource/loadRemoteFile', data }) +} + export const listSyncRecord = (page: number, limit: number, dsId: number | string) => request.post({ url: '/datasource/listSyncRecord/' + dsId + '/' + page + '/' + limit }) diff --git a/core/core-frontend/src/api/login.ts b/core/core-frontend/src/api/login.ts index a86ccc5..ffc5017 100644 --- a/core/core-frontend/src/api/login.ts +++ b/core/core-frontend/src/api/login.ts @@ -12,7 +12,7 @@ export const platformLoginApi = origin => request.post({ url: '/login/platformLo export const logoutApi = () => request.get({ url: '/logout' }) -export const refreshApi = () => request.get({ url: '/login/refresh' }) +export const refreshApi = (time?: any) => request.get({ url: '/login/refresh', params: { time } }) export const uiLoadApi = () => request.get({ url: '/sysParameter/ui' }) diff --git a/core/core-frontend/src/api/setting/sysParameter.ts b/core/core-frontend/src/api/setting/sysParameter.ts index 6b2de15..0e61578 100644 --- a/core/core-frontend/src/api/setting/sysParameter.ts +++ b/core/core-frontend/src/api/setting/sysParameter.ts @@ -1,4 +1,6 @@ import request from '@/config/axios' export const queryMapKeyApi = () => request.get({ url: '/sysParameter/queryOnlineMap' }) +export const queryMapKeyApiByType = (type: string) => + request.get({ url: `/sysParameter/queryOnlineMap/${type}` }) export const saveMapKeyApi = data => request.post({ url: '/sysParameter/saveOnlineMap', data }) diff --git a/core/core-frontend/src/api/sync/syncTask.ts b/core/core-frontend/src/api/sync/syncTask.ts index c22b484..b4643ea 100644 --- a/core/core-frontend/src/api/sync/syncTask.ts +++ b/core/core-frontend/src/api/sync/syncTask.ts @@ -111,6 +111,7 @@ export interface ITarget { incrementSync: string incrementField: string incrementFieldType: string + remarks: string } export class ITaskInfoRes { diff --git a/core/core-frontend/src/api/user.ts b/core/core-frontend/src/api/user.ts index 19a23e9..de081e4 100644 --- a/core/core-frontend/src/api/user.ts +++ b/core/core-frontend/src/api/user.ts @@ -18,6 +18,9 @@ export const userSelectedForRoleApi = (page: number, limit: number, data) => export const userPageApi = (page: number, limit: number, data) => request.post({ url: `/user/pager/${page}/${limit}`, data }) +export const personSysVariableInfoApi = uid => + request.get({ url: `/user/personSysVariableInfo/${uid}` }) + export const userCreateApi = data => request.post({ url: '/user/create', data }) export const userEditApi = data => request.post({ url: '/user/edit', data }) diff --git a/core/core-frontend/src/api/visualization/dataVisualization.ts b/core/core-frontend/src/api/visualization/dataVisualization.ts index eadd799..f355992 100644 --- a/core/core-frontend/src/api/visualization/dataVisualization.ts +++ b/core/core-frontend/src/api/visualization/dataVisualization.ts @@ -1,11 +1,15 @@ import request from '@/config/axios' import type { BusiTreeRequest } from '@/models/tree/TreeNode' +import { originNameHandleWithArr } from '@/utils/CalculateFields' +import { cloneDeep } from 'lodash-es' export interface ResourceOrFolder { name: string id?: number | string pid?: number | string nodeType: 'folder' | 'leaf' type: string + mobileLayout: boolean + status: boolean } export interface Panel { @@ -61,13 +65,34 @@ export const checkCanvasChange = data => export const saveCanvas = data => request.post({ url: '/dataVisualization/saveCanvas', data, loading: true }) +export const updatePublishStatus = data => + request.post({ url: '/dataVisualization/updatePublishStatus', data, loading: false }) + +export const recoverToPublished = data => + request.post({ url: '/dataVisualization/recoverToPublished', data, loading: true }) export const appCanvasNameCheck = async data => request.post({ url: '/dataVisualization/appCanvasNameCheck', data, loading: false }) export const updateBase = data => request.post({ url: '/dataVisualization/updateBase', data }) -export const updateCanvas = data => - request.post({ url: '/dataVisualization/updateCanvas', data, loading: true }) +export const updateCanvas = data => { + const copyData = cloneDeep(data) + const fields = [ + 'xAxis', + 'xAxisExt', + 'yAxis', + 'yAxisExt', + 'extBubble', + 'extLabel', + 'extStack', + 'extTooltip' + ] + + for (const key in copyData.canvasViewInfo) { + originNameHandleWithArr(copyData.canvasViewInfo[key], fields) + } + return request.post({ url: '/dataVisualization/updateCanvas', data: copyData, loading: true }) +} export const moveResource = data => request.post({ url: '/dataVisualization/move', data }) diff --git a/core/core-frontend/src/api/visualization/linkJump.ts b/core/core-frontend/src/api/visualization/linkJump.ts index 393acb9..6415940 100644 --- a/core/core-frontend/src/api/visualization/linkJump.ts +++ b/core/core-frontend/src/api/visualization/linkJump.ts @@ -26,9 +26,9 @@ export function queryTargetVisualizationJumpInfo(requestInfo) { }) } -export function queryVisualizationJumpInfo(dvId) { +export function queryVisualizationJumpInfo(dvId, resourceTable = 'snapshot') { return request.get({ - url: '/linkJump/queryVisualizationJumpInfo/' + dvId, + url: '/linkJump/queryVisualizationJumpInfo/' + dvId + '/' + resourceTable, loading: false }) } diff --git a/core/core-frontend/src/api/visualization/linkage.ts b/core/core-frontend/src/api/visualization/linkage.ts index 9239c96..c6b07b3 100644 --- a/core/core-frontend/src/api/visualization/linkage.ts +++ b/core/core-frontend/src/api/visualization/linkage.ts @@ -8,8 +8,8 @@ export const getViewLinkageGatherArray = data => export const saveLinkage = data => request.post({ url: '/linkage/saveLinkage', data }) -export const getPanelAllLinkageInfo = dvId => - request.get({ url: '/linkage/getVisualizationAllLinkageInfo/' + dvId }) +export const getPanelAllLinkageInfo = (dvId, resourceTable = 'snapshot') => + request.get({ url: '/linkage/getVisualizationAllLinkageInfo/' + dvId + '/' + resourceTable }) export const updateLinkageActive = data => request.post({ url: '/linkage/updateLinkageActive', data })