map/ui/dasadmin/src/api/backend/deviceModel/request.ts
2024-12-18 10:47:22 +08:00

189 lines
5.3 KiB
TypeScript

import createAxios from '/@/utils/axios'
import {
RequestReturnType,
GetModelType,
AddModelType,
UpdateModelType,
DelModelType,
GetModelAttributeType,
AddModelAttributeType,
UpdateModelAttributeType,
DelModelAttributeType,
GetModelServiceType,
AddModelServiceType,
UpdateModelServiceType,
RequestReturnRowType,
DeviceType
} from '/@/views/backend/auth/model/type'
import { useAdminInfo } from '/@/stores/adminInfo'
import { encrypt_aes } from '/@/utils/crypto'
const adminInfo = useAdminInfo()
export const getModelListReq = (data: GetModelType) => {
return createAxios<never, RequestReturnType<AddModelType[] & UpdateModelType[]>>({
url: '/api/equipment/model/list',
method: 'post',
data: data,
})
}
export const addModelReq = (data: AddModelType) => {
return createAxios<never, RequestReturnType<AddModelType[] & UpdateModelType[]>>({
url: '/api/equipment/model/add',
method: 'post',
data: data,
})
}
export const updateModelReq = (data: UpdateModelType) => {
return createAxios<never, RequestReturnType>({
url: '/api/equipment/model/update',
method: 'post',
data: data,
})
}
export const delModelReq = (data: DelModelType) => {
return createAxios<never, RequestReturnType>({
url: '/api/equipment/model/delete',
method: 'post',
data: data,
},
{
showErrorMessage: false
})
}
export const getModelAttributeListReq = (data: GetModelAttributeType) => {
return createAxios<never, RequestReturnRowType<(AddModelAttributeType & UpdateModelAttributeType)[]>>({
url: '/api/equipment/model/attribute/list',
method: 'post',
data: data,
})
}
export const addModelAttributeReq = (data: AddModelAttributeType) => {
return createAxios<never, RequestReturnType<(AddModelAttributeType & UpdateModelAttributeType)[]>>({
url: '/api/equipment/model/attribute/add',
method: 'post',
data: data,
})
}
export const updateModelAttributeReq = (data: UpdateModelAttributeType) => {
return createAxios<never, RequestReturnType>({
url: '/api/equipment/model/attribute/update',
method: 'post',
data: data,
})
}
export const delModelAttributeReq = (data: DelModelAttributeType) => {
return createAxios<never, RequestReturnType>({
url: '/api/equipment/model/attribute/delete',
method: 'post',
data: data,
})
}
export const getModelServiceListReq = (data: GetModelServiceType) => {
return createAxios<never, RequestReturnRowType<(AddModelServiceType & UpdateModelServiceType)[]>>({
url: '/api/equipment/model/service/list',
method: 'post',
data: data,
})
}
export const addModelServiceReq = (data: AddModelServiceType) => {
return createAxios<never, RequestReturnType<(AddModelServiceType & UpdateModelServiceType)[]>>({
url: '/api/equipment/model/service/add',
method: 'post',
data: data,
})
}
export const updateModelServiceReq = (data: UpdateModelServiceType) => {
return createAxios<never, RequestReturnType>({
url: '/api/equipment/model/service/update',
method: 'post',
data: data,
})
}
export const delModelServiceReq = (data: DelModelAttributeType) => {
return createAxios<never, RequestReturnType>({
url: '/api/equipment/model/service/delete',
method: 'post',
data: data,
})
}
export const uploadModelReq = (data: FormData, v: string) => {
const token = encrypt_aes(adminInfo.token, v)
return createAxios<never, RequestReturnType>(
{
url: '/api/equipment/model/import',
method: 'post',
data: data,
headers: {
'Content-Type': 'multipart/form-data',
v,
token,
},
},
{ customEncrypt: true }
)
}
export const downloadModelReq = (data: { id: string }) => {
return createAxios<never, RequestReturnType>({
url: '/api/equipment/model/export',
method: 'post',
data: data,
responseType: 'blob',
})
}
export const getDeviceTypeEnumReq = () => {
return createAxios<never, RequestReturnType<DeviceType[]>>({
url: '/api/equipment/type',
method: 'post',
})
}
export const getRealValueListReq = (data: { deviceId: string, attributes?: (string | number)[] }[]) => {
return createAxios<never, RequestReturnType<any>>({
url: '/api/data/snapshot',
method: 'post',
data: data,
timeout: 60 * 1000
})
}
export const getRealValueRangeReq = (data: { startTime: number, endTime: number, devices: { deviceId: string, attributes?: string[] }[], interval?: string }) => {
return createAxios<never, RequestReturnType<any>>({
url: '/api/data/history',
method: 'post',
data: data,
timeout: 60 * 1000
})
}
export function queryfaultCodeDict(params: object = {}) {
return createAxios({
url: '/api/fdr/faultCodeDict/query',
method: 'POST',
data: params,
},
{
showErrorMessage: false
})
}
export function getAllSubSystemReq(params: { iotModelId: string }) {
return createAxios({
url: '/api/equipment/model/attribute/getAllSubsystem',
method: 'post',
data: params
})
}