2024-09-29 21:58:03 +08:00
|
|
|
import request from '@/config/axios'
|
|
|
|
|
2024-12-15 23:15:51 +08:00
|
|
|
/**
|
|
|
|
* IoT 产品物模型
|
|
|
|
*/
|
2024-12-23 10:13:14 +08:00
|
|
|
export interface ThingModelData {
|
2024-12-15 23:15:51 +08:00
|
|
|
id?: number // 物模型功能编号
|
|
|
|
identifier?: string // 功能标识
|
|
|
|
name?: string // 功能名称
|
|
|
|
description?: string // 功能描述
|
|
|
|
productId?: number // 产品编号
|
|
|
|
productKey?: string // 产品标识
|
2024-12-16 17:47:02 +08:00
|
|
|
dataType: string // 数据类型,与 dataSpecs 的 dataType 保持一致
|
2024-12-25 18:35:37 +08:00
|
|
|
type: number // 功能类型
|
2024-12-23 10:13:14 +08:00
|
|
|
property: ThingModelProperty // 属性
|
|
|
|
event?: ThingModelEvent // 事件
|
|
|
|
service?: ThingModelService // 服务
|
2024-12-15 23:15:51 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2024-12-23 10:13:14 +08:00
|
|
|
* ThingModelProperty 类型
|
2024-12-15 23:15:51 +08:00
|
|
|
*/
|
2024-12-23 10:13:14 +08:00
|
|
|
export interface ThingModelProperty {
|
2024-12-15 23:15:51 +08:00
|
|
|
[key: string]: any
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2024-12-23 10:13:14 +08:00
|
|
|
* ThingModelEvent 类型
|
2024-12-15 23:15:51 +08:00
|
|
|
*/
|
2024-12-23 10:13:14 +08:00
|
|
|
export interface ThingModelEvent {
|
2024-12-15 23:15:51 +08:00
|
|
|
[key: string]: any
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2024-12-23 10:13:14 +08:00
|
|
|
* ThingModelService 类型
|
2024-12-15 23:15:51 +08:00
|
|
|
*/
|
2024-12-23 10:13:14 +08:00
|
|
|
export interface ThingModelService {
|
2024-12-15 23:15:51 +08:00
|
|
|
[key: string]: any
|
2024-09-29 21:58:03 +08:00
|
|
|
}
|
|
|
|
|
2024-12-25 18:35:37 +08:00
|
|
|
// IOT 产品物模型类型枚举类
|
|
|
|
export const ThingModelType = {
|
|
|
|
PROPERTY: 1, // 属性
|
|
|
|
SERVICE: 2, // 服务
|
|
|
|
EVENT: 3 // 事件
|
|
|
|
} as const
|
2024-10-10 21:02:55 +08:00
|
|
|
|
2024-12-25 18:35:37 +08:00
|
|
|
// IOT 产品物模型访问模式枚举类
|
|
|
|
export const ThingModelAccessMode = {
|
|
|
|
READ_WRITE: {
|
|
|
|
label: '读写',
|
|
|
|
value: 'rw'
|
|
|
|
},
|
|
|
|
READ_ONLY: {
|
|
|
|
label: '只读',
|
|
|
|
value: 'r'
|
|
|
|
}
|
|
|
|
} as const
|
|
|
|
|
|
|
|
// IOT 产品物模型服务调用方式枚举
|
|
|
|
export const ThingModelServiceCallType = {
|
|
|
|
ASYNC: {
|
|
|
|
label: '异步调用',
|
|
|
|
value: 'async'
|
|
|
|
},
|
|
|
|
SYNC: {
|
|
|
|
label: '同步调用',
|
|
|
|
value: 'sync'
|
|
|
|
}
|
|
|
|
} as const
|
|
|
|
|
|
|
|
// IOT 产品物模型事件类型枚举
|
|
|
|
export const ThingModelServiceEventType = {
|
|
|
|
INFO: {
|
|
|
|
label: '信息',
|
|
|
|
value: 'info'
|
|
|
|
},
|
|
|
|
ALERT: {
|
|
|
|
label: '告警',
|
|
|
|
value: 'alert'
|
|
|
|
},
|
|
|
|
ERROR: {
|
|
|
|
label: '故障',
|
|
|
|
value: 'error'
|
|
|
|
}
|
|
|
|
} as const
|
|
|
|
|
|
|
|
// IOT 产品物模型参数是输入参数还是输出参数
|
|
|
|
export const ThingModelParamDirection = {
|
|
|
|
INPUT: 'input', // 输入参数
|
|
|
|
OUTPUT: 'output' // 输出参数
|
|
|
|
} as const
|
2024-10-10 21:02:55 +08:00
|
|
|
|
2024-09-29 21:58:03 +08:00
|
|
|
// IoT 产品物模型 API
|
2024-12-23 10:13:14 +08:00
|
|
|
export const ThingModelApi = {
|
2024-10-01 19:29:24 +08:00
|
|
|
// 查询产品物模型分页
|
2024-12-23 10:13:14 +08:00
|
|
|
getThingModelPage: async (params: any) => {
|
|
|
|
return await request.get({ url: `/iot/product-thing-model/page`, params })
|
2024-09-29 21:58:03 +08:00
|
|
|
},
|
2024-12-16 17:47:02 +08:00
|
|
|
|
2024-10-01 19:29:24 +08:00
|
|
|
// 获得产品物模型
|
2024-12-23 10:13:14 +08:00
|
|
|
getThingModelListByProductId: async (params: any) => {
|
2024-09-29 21:58:03 +08:00
|
|
|
return await request.get({
|
2024-12-23 10:13:14 +08:00
|
|
|
url: `/iot/product-thing-model/list-by-product-id`,
|
2024-09-29 21:58:03 +08:00
|
|
|
params
|
|
|
|
})
|
|
|
|
},
|
|
|
|
|
2024-10-01 19:29:24 +08:00
|
|
|
// 查询产品物模型详情
|
2024-12-23 10:13:14 +08:00
|
|
|
getThingModel: async (id: number) => {
|
|
|
|
return await request.get({ url: `/iot/product-thing-model/get?id=` + id })
|
2024-09-29 21:58:03 +08:00
|
|
|
},
|
|
|
|
|
2024-10-01 19:29:24 +08:00
|
|
|
// 新增产品物模型
|
2024-12-23 10:13:14 +08:00
|
|
|
createThingModel: async (data: ThingModelData) => {
|
|
|
|
return await request.post({ url: `/iot/product-thing-model/create`, data })
|
2024-09-29 21:58:03 +08:00
|
|
|
},
|
|
|
|
|
2024-10-01 19:29:24 +08:00
|
|
|
// 修改产品物模型
|
2024-12-23 10:13:14 +08:00
|
|
|
updateThingModel: async (data: ThingModelData) => {
|
|
|
|
return await request.put({ url: `/iot/product-thing-model/update`, data })
|
2024-09-29 21:58:03 +08:00
|
|
|
},
|
|
|
|
|
2024-10-01 19:29:24 +08:00
|
|
|
// 删除产品物模型
|
2024-12-23 10:13:14 +08:00
|
|
|
deleteThingModel: async (id: number) => {
|
|
|
|
return await request.delete({ url: `/iot/product-thing-model/delete?id=` + id })
|
2024-09-29 21:58:03 +08:00
|
|
|
}
|
|
|
|
}
|