提交前端api

This commit is contained in:
limengnan 2025-06-23 17:36:05 +08:00
parent becb5e8be9
commit 8149e3589a
11 changed files with 135 additions and 21 deletions

View File

@ -3,3 +3,4 @@ import request from '@/config/axios'
export const validateApi = data => request.post({ url: '/license/validate', data }) export const validateApi = data => request.post({ url: '/license/validate', data })
export const buildVersionApi = () => request.get({ url: '/license/version' }) export const buildVersionApi = () => request.get({ url: '/license/version' })
export const updateInfoApi = data => request.post({ url: '/license/update', data }) export const updateInfoApi = data => request.post({ url: '/license/update', data })
export const revertApi = () => request.post({ url: '/license/revert' })

View File

@ -1,5 +1,6 @@
import request from '@/config/axios' import request from '@/config/axios'
import { originNameHandleWithArr, originNameHandleBackWithArr } from '@/utils/CalculateFields'
import { cloneDeep } from 'lodash-es'
export interface Field { export interface Field {
id: number | string id: number | string
datasourceId: number | string datasourceId: number | string
@ -28,6 +29,7 @@ export interface ComponentInfo {
export const getFieldByDQ = async (id, chartId, data): Promise<IResponse> => { export const getFieldByDQ = async (id, chartId, data): Promise<IResponse> => {
return request.post({ url: `/chart/listByDQ/${id}/${chartId}`, data: data }).then(res => { return request.post({ url: `/chart/listByDQ/${id}/${chartId}`, data: data }).then(res => {
originNameHandleBackWithArr(res?.data, ['dimensionList', 'quotaList'])
return res?.data return res?.data
}) })
} }
@ -53,10 +55,33 @@ export const deleteChartFieldByChartId = async (chartId): Promise<IResponse> =>
// 通过图表对象获取数据 // 通过图表对象获取数据
export const getData = async (data): Promise<IResponse> => { export const getData = async (data): Promise<IResponse> => {
delete data.data 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) { 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 return res?.data
} else { } else {
originNameHandleBackWithArr(res, fields)
originNameHandleBackWithArr(res?.data, dataFields)
originNameHandleBackWithArr(res?.data?.left, ['fields'])
originNameHandleBackWithArr(res?.data?.right, ['fields'])
return res return res
} }
}) })

View File

@ -1,10 +1,17 @@
import request from '@/config/axios' import request from '@/config/axios'
import {
originNameHandle,
originNameHandleBack,
originNameHandleBackWithArr
} from '@/utils/CalculateFields'
import { type Field } from '@/api/chart' import { type Field } from '@/api/chart'
import { cloneDeep } from 'lodash-es'
import type { BusiTreeRequest } from '@/models/tree/TreeNode' import type { BusiTreeRequest } from '@/models/tree/TreeNode'
import { nameTrim } from '@/utils/utils' import { nameTrim } from '@/utils/utils'
export interface DatasetOrFolder { export interface DatasetOrFolder {
name: string name: string
action?: string action?: string
isCross?: boolean
id?: number | string id?: number | string
pid?: number | string pid?: number | string
appId?: number | string appId?: number | string
@ -58,6 +65,7 @@ export interface Dataset {
id: string id: string
pid: string pid: string
name: string name: string
isCross?: boolean
union?: Array<{}> union?: Array<{}>
allFields?: Array<{}> allFields?: Array<{}>
} }
@ -73,7 +81,12 @@ export interface Table {
// edit // edit
export const saveDatasetTree = async (data: DatasetOrFolder): Promise<IResponse> => { export const saveDatasetTree = async (data: DatasetOrFolder): Promise<IResponse> => {
nameTrim(data) 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 return res?.data
}) })
} }
@ -81,7 +94,12 @@ export const saveDatasetTree = async (data: DatasetOrFolder): Promise<IResponse>
// create // create
export const createDatasetTree = async (data: DatasetOrFolder): Promise<IResponse> => { export const createDatasetTree = async (data: DatasetOrFolder): Promise<IResponse> => {
nameTrim(data) 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 return res?.data
}) })
} }
@ -136,7 +154,8 @@ export const exportDatasetData = (data = {}) => {
url: '/datasetTree/exportDataset', url: '/datasetTree/exportDataset',
method: 'post', method: 'post',
data: data, data: data,
loading: true loading: true,
responseType: 'blob'
}) })
} }
@ -178,7 +197,16 @@ export const getTableField = async (data): Promise<IResponse> => {
} }
export const getPreviewData = async (data): Promise<IResponse> => { export const getPreviewData = async (data): Promise<IResponse> => {
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 return res?.data
}) })
} }
@ -197,6 +225,9 @@ export const getDatasetTotal = async (id): Promise<FieldData> => {
export const getDatasetDetails = async (id): Promise<Dataset> => { export const getDatasetDetails = async (id): Promise<Dataset> => {
return request.post({ url: `/datasetTree/details/${id}`, data: {} }).then(res => { return request.post({ url: `/datasetTree/details/${id}`, data: {} }).then(res => {
if (res?.data?.allFields?.length) {
originNameHandleBack(res?.data?.allFields)
}
return res?.data return res?.data
}) })
} }
@ -220,6 +251,9 @@ export const getDsDetails = async (data): Promise<DatasetDetail[]> => {
} }
export const getDsDetailsWithPerm = async (data): Promise<DatasetDetail[]> => { export const getDsDetailsWithPerm = async (data): Promise<DatasetDetail[]> => {
return request.post({ url: '/datasetTree/detailWithPerm', data }).then(res => { return request.post({ url: '/datasetTree/detailWithPerm', data }).then(res => {
;(res?.data || []).forEach(ele => {
originNameHandleBackWithArr(ele, ['dimensionList', 'quotaList'])
})
return res?.data return res?.data
}) })
} }
@ -237,15 +271,22 @@ export const columnPermissionList = (page: number, limit: number, datasetId: num
export const rowPermissionTargetObjList = (datasetId: number, type: string) => export const rowPermissionTargetObjList = (datasetId: number, type: string) =>
request.get({ url: '/dataset/rowPermissions/authObjs/' + datasetId + '/' + type }) request.get({ url: '/dataset/rowPermissions/authObjs/' + datasetId + '/' + type })
export const listFieldByDatasetGroup = (datasetId: number) => export const listFieldByDatasetGroup = (datasetId: number) => {
request.post({ url: '/datasetField/listByDatasetGroup/' + datasetId }) return request.post({ url: '/datasetField/listByDatasetGroup/' + datasetId }).then(res => {
originNameHandleBack(res?.data)
return res
})
}
export const multFieldValuesForPermissions = (data = {}) => { export const multFieldValuesForPermissions = (data = {}) => {
return request.post({ url: '/datasetField/multFieldValuesForPermissions', data }) return request.post({ url: '/datasetField/multFieldValuesForPermissions', data })
} }
export const listFieldsWithPermissions = (datasetId: number) => { 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) => { export const copilotFields = (datasetId: number) => {
@ -302,11 +343,11 @@ export const getFunction = async (): Promise<DatasetDetail[]> => {
}) })
} }
export const exportTasks = async (type): Promise<IResponse> => { export const exportTasksRecords = () =>
return request.post({ url: '/exportCenter/exportTasks/' + type, data: {} }).then(res => { request.post({ url: `/exportCenter/exportTasks/records`, data: {} })
return res
}) export const exportTasks = (page: number, limit: number, status: string) =>
} request.post({ url: `/exportCenter/exportTasks/${status}/${page}/${limit}`, data: {} })
export const exportRetry = async (id): Promise<IResponse> => { export const exportRetry = async (id): Promise<IResponse> => {
return request.post({ url: '/exportCenter/retry/' + id, data: {} }).then(res => { return request.post({ url: '/exportCenter/retry/' + id, data: {} }).then(res => {
@ -326,6 +367,12 @@ export const exportDelete = async (id): Promise<IResponse> => {
}) })
} }
export const generateDownloadUri = async (id): Promise<IResponse> => {
return request.get({ url: '/exportCenter/generateDownloadUri/' + id }).then(res => {
return res?.data
})
}
export const exportDeleteAll = async (type, data): Promise<IResponse> => { export const exportDeleteAll = async (type, data): Promise<IResponse> => {
return request.post({ url: '/exportCenter/deleteAll/' + type, data }).then(res => { return request.post({ url: '/exportCenter/deleteAll/' + type, data }).then(res => {
return res?.data return res?.data

View File

@ -60,6 +60,12 @@ export const listDatasourceTables = async (data = {}): Promise<IResponse> => {
}) })
} }
export const getTableStatus = async (data = {}): Promise<IResponse> => {
return request.post({ url: '/datasource/getTableStatus', data }).then(res => {
return res
})
}
export const getSchema = (data = {}) => { export const getSchema = (data = {}) => {
return request.post({ url: '/datasource/getSchema', data }) return request.post({ url: '/datasource/getSchema', data })
} }
@ -175,6 +181,10 @@ export const uploadFile = async (data): Promise<IResponse> => {
}) })
} }
export const loadRemoteFile = async (data = {}) => {
return request.post({ url: '/datasource/loadRemoteFile', data })
}
export const listSyncRecord = (page: number, limit: number, dsId: number | string) => export const listSyncRecord = (page: number, limit: number, dsId: number | string) =>
request.post({ url: '/datasource/listSyncRecord/' + dsId + '/' + page + '/' + limit }) request.post({ url: '/datasource/listSyncRecord/' + dsId + '/' + page + '/' + limit })

View File

@ -12,7 +12,7 @@ export const platformLoginApi = origin => request.post({ url: '/login/platformLo
export const logoutApi = () => request.get({ url: '/logout' }) 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' }) export const uiLoadApi = () => request.get({ url: '/sysParameter/ui' })

View File

@ -1,4 +1,6 @@
import request from '@/config/axios' import request from '@/config/axios'
export const queryMapKeyApi = () => request.get({ url: '/sysParameter/queryOnlineMap' }) 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 }) export const saveMapKeyApi = data => request.post({ url: '/sysParameter/saveOnlineMap', data })

View File

@ -111,6 +111,7 @@ export interface ITarget {
incrementSync: string incrementSync: string
incrementField: string incrementField: string
incrementFieldType: string incrementFieldType: string
remarks: string
} }
export class ITaskInfoRes { export class ITaskInfoRes {

View File

@ -18,6 +18,9 @@ export const userSelectedForRoleApi = (page: number, limit: number, data) =>
export const userPageApi = (page: number, limit: number, data) => export const userPageApi = (page: number, limit: number, data) =>
request.post({ url: `/user/pager/${page}/${limit}`, 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 userCreateApi = data => request.post({ url: '/user/create', data })
export const userEditApi = data => request.post({ url: '/user/edit', data }) export const userEditApi = data => request.post({ url: '/user/edit', data })

View File

@ -1,11 +1,15 @@
import request from '@/config/axios' import request from '@/config/axios'
import type { BusiTreeRequest } from '@/models/tree/TreeNode' import type { BusiTreeRequest } from '@/models/tree/TreeNode'
import { originNameHandleWithArr } from '@/utils/CalculateFields'
import { cloneDeep } from 'lodash-es'
export interface ResourceOrFolder { export interface ResourceOrFolder {
name: string name: string
id?: number | string id?: number | string
pid?: number | string pid?: number | string
nodeType: 'folder' | 'leaf' nodeType: 'folder' | 'leaf'
type: string type: string
mobileLayout: boolean
status: boolean
} }
export interface Panel { export interface Panel {
@ -61,13 +65,34 @@ export const checkCanvasChange = data =>
export const saveCanvas = data => export const saveCanvas = data =>
request.post({ url: '/dataVisualization/saveCanvas', data, loading: true }) 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 => export const appCanvasNameCheck = async data =>
request.post({ url: '/dataVisualization/appCanvasNameCheck', data, loading: false }) request.post({ url: '/dataVisualization/appCanvasNameCheck', data, loading: false })
export const updateBase = data => request.post({ url: '/dataVisualization/updateBase', data }) export const updateBase = data => request.post({ url: '/dataVisualization/updateBase', data })
export const updateCanvas = data => export const updateCanvas = data => {
request.post({ url: '/dataVisualization/updateCanvas', data, loading: true }) 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 }) export const moveResource = data => request.post({ url: '/dataVisualization/move', data })

View File

@ -26,9 +26,9 @@ export function queryTargetVisualizationJumpInfo(requestInfo) {
}) })
} }
export function queryVisualizationJumpInfo(dvId) { export function queryVisualizationJumpInfo(dvId, resourceTable = 'snapshot') {
return request.get({ return request.get({
url: '/linkJump/queryVisualizationJumpInfo/' + dvId, url: '/linkJump/queryVisualizationJumpInfo/' + dvId + '/' + resourceTable,
loading: false loading: false
}) })
} }

View File

@ -8,8 +8,8 @@ export const getViewLinkageGatherArray = data =>
export const saveLinkage = data => request.post({ url: '/linkage/saveLinkage', data }) export const saveLinkage = data => request.post({ url: '/linkage/saveLinkage', data })
export const getPanelAllLinkageInfo = dvId => export const getPanelAllLinkageInfo = (dvId, resourceTable = 'snapshot') =>
request.get({ url: '/linkage/getVisualizationAllLinkageInfo/' + dvId }) request.get({ url: '/linkage/getVisualizationAllLinkageInfo/' + dvId + '/' + resourceTable })
export const updateLinkageActive = data => export const updateLinkageActive = data =>
request.post({ url: '/linkage/updateLinkageActive', data }) request.post({ url: '/linkage/updateLinkageActive', data })