config.ts 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /** dataSpecs 数值型数据结构 */
  2. export interface DataSpecsNumberDataVO {
  3. dataType: 'int' | 'float' | 'double' // 数据类型,取值为 INT、FLOAT 或 DOUBLE
  4. max: string // 最大值,必须与 dataType 设置一致,且为 STRING 类型
  5. min: string // 最小值,必须与 dataType 设置一致,且为 STRING 类型
  6. step: string // 步长,必须与 dataType 设置一致,且为 STRING 类型
  7. precise?: string // 精度,当 dataType 为 FLOAT 或 DOUBLE 时可选
  8. defaultValue?: string // 默认值,可选
  9. unit: string // 单位的符号
  10. unitName: string // 单位的名称
  11. }
  12. /** dataSpecs 枚举型数据结构 */
  13. export interface DataSpecsEnumOrBoolDataVO {
  14. dataType: 'enum' | 'bool'
  15. defaultValue?: string // 默认值,可选
  16. name: string // 枚举项的名称
  17. value: number | undefined // 枚举值
  18. }
  19. /** 属性值的数据类型 */
  20. export const DataSpecsDataType = {
  21. INT: 'int',
  22. FLOAT: 'float',
  23. DOUBLE: 'double',
  24. ENUM: 'enum',
  25. BOOL: 'bool',
  26. TEXT: 'text',
  27. DATE: 'date',
  28. STRUCT: 'struct',
  29. ARRAY: 'array'
  30. } as const
  31. /** 物体模型数据类型配置项 */
  32. export const dataTypeOptions = [
  33. { value: DataSpecsDataType.INT, label: 'int32 (整数型)' },
  34. { value: DataSpecsDataType.FLOAT, label: 'float (单精度浮点型)' },
  35. { value: DataSpecsDataType.DOUBLE, label: 'double (双精度浮点型)' },
  36. { value: DataSpecsDataType.ENUM, label: 'enum(枚举型)' },
  37. { value: DataSpecsDataType.BOOL, label: 'bool (布尔型)' },
  38. { value: DataSpecsDataType.TEXT, label: 'text (文本型)' },
  39. { value: DataSpecsDataType.DATE, label: 'date (时间型)' },
  40. { value: DataSpecsDataType.STRUCT, label: 'struct (结构体)' },
  41. { value: DataSpecsDataType.ARRAY, label: 'array (数组)' }
  42. ]
  43. /** 获得物体模型数据类型配置项名称 */
  44. export const getDataTypeOptionsLabel = (value: string) => {
  45. return dataTypeOptions.find((option) => option.value === value)?.label
  46. }