feat:【IoT 物联网】物模型,移除 config.ts
This commit is contained in:
@ -1,8 +1,17 @@
|
||||
import { isEmpty } from '@/utils/is'
|
||||
|
||||
/** iot 依赖注入 KEY */
|
||||
export const IOT_PROVIDE_KEY = {
|
||||
PRODUCT: 'IOT_PRODUCT'
|
||||
}
|
||||
|
||||
// IOT 产品物模型类型枚举类
|
||||
export const IoTThingModelTypeEnum = {
|
||||
PROPERTY: 1, // 属性
|
||||
SERVICE: 2, // 服务
|
||||
EVENT: 3 // 事件
|
||||
} as const
|
||||
|
||||
/**
|
||||
* IoT 设备消息的方法枚举
|
||||
*/
|
||||
@ -54,3 +63,89 @@ export const IotThingModelTypeEnum = {
|
||||
SERVICE: 2, // 服务
|
||||
EVENT: 3 // 事件
|
||||
}
|
||||
|
||||
// IOT 产品物模型服务调用方式枚举
|
||||
export const IoTThingModelServiceCallTypeEnum = {
|
||||
ASYNC: {
|
||||
label: '异步调用',
|
||||
value: 'async'
|
||||
},
|
||||
SYNC: {
|
||||
label: '同步调用',
|
||||
value: 'sync'
|
||||
}
|
||||
} as const
|
||||
export const getThingModelServiceCallTypeLabel = (value: string): string | undefined =>
|
||||
Object.values(IoTThingModelServiceCallTypeEnum).find((type) => type.value === value)?.label
|
||||
|
||||
// IOT 产品物模型事件类型枚举
|
||||
export const IoTThingModelEventTypeEnum = {
|
||||
INFO: {
|
||||
label: '信息',
|
||||
value: 'info'
|
||||
},
|
||||
ALERT: {
|
||||
label: '告警',
|
||||
value: 'alert'
|
||||
},
|
||||
ERROR: {
|
||||
label: '故障',
|
||||
value: 'error'
|
||||
}
|
||||
} as const
|
||||
export const getEventTypeLabel = (value: string): string | undefined =>
|
||||
Object.values(IoTThingModelEventTypeEnum).find((type) => type.value === value)?.label
|
||||
|
||||
// IOT 产品物模型参数是输入参数还是输出参数
|
||||
export const IoTThingModelParamDirectionEnum = {
|
||||
INPUT: 'input', // 输入参数
|
||||
OUTPUT: 'output' // 输出参数
|
||||
} as const
|
||||
|
||||
// IOT 产品物模型访问模式枚举类
|
||||
export const IoTThingModelAccessModeEnum = {
|
||||
READ_WRITE: {
|
||||
label: '读写',
|
||||
value: 'rw'
|
||||
},
|
||||
READ_ONLY: {
|
||||
label: '只读',
|
||||
value: 'r'
|
||||
}
|
||||
} as const
|
||||
|
||||
/** 属性值的数据类型 */
|
||||
export const IoTDataSpecsDataTypeEnum = {
|
||||
INT: 'int',
|
||||
FLOAT: 'float',
|
||||
DOUBLE: 'double',
|
||||
ENUM: 'enum',
|
||||
BOOL: 'bool',
|
||||
TEXT: 'text',
|
||||
DATE: 'date',
|
||||
STRUCT: 'struct',
|
||||
ARRAY: 'array'
|
||||
} as const
|
||||
|
||||
export const getDataTypeOptions = () => {
|
||||
return [
|
||||
{ value: IoTDataSpecsDataTypeEnum.INT, label: '整数型' },
|
||||
{ value: IoTDataSpecsDataTypeEnum.FLOAT, label: '单精度浮点型' },
|
||||
{ value: IoTDataSpecsDataTypeEnum.DOUBLE, label: '双精度浮点型' },
|
||||
{ value: IoTDataSpecsDataTypeEnum.ENUM, label: '枚举型' },
|
||||
{ value: IoTDataSpecsDataTypeEnum.BOOL, label: '布尔型' },
|
||||
{ value: IoTDataSpecsDataTypeEnum.TEXT, label: '文本型' },
|
||||
{ value: IoTDataSpecsDataTypeEnum.DATE, label: '时间型' },
|
||||
{ value: IoTDataSpecsDataTypeEnum.STRUCT, label: '结构体' },
|
||||
{ value: IoTDataSpecsDataTypeEnum.ARRAY, label: '数组' }
|
||||
]
|
||||
}
|
||||
|
||||
/** 获得物体模型数据类型配置项名称 */
|
||||
export const getDataTypeOptionsLabel = (value: string) => {
|
||||
if (isEmpty(value)) {
|
||||
return value
|
||||
}
|
||||
const dataType = getDataTypeOptions().find((option) => option.value === value)
|
||||
return dataType && `${dataType.value}(${dataType.label})`
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user