From a1d7e81859f554f3a53680cc35f0f49bf1f77098 Mon Sep 17 00:00:00 2001
From: wwf <1971391498@qq.com>
Date: 星期四, 14 五月 2026 14:37:02 +0800
Subject: [PATCH] 导入项目
---
src/views/iot/utils/constants.ts | 543 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 543 insertions(+), 0 deletions(-)
diff --git a/src/views/iot/utils/constants.ts b/src/views/iot/utils/constants.ts
new file mode 100644
index 0000000..fe6db18
--- /dev/null
+++ b/src/views/iot/utils/constants.ts
@@ -0,0 +1,543 @@
+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 璁惧娑堟伅鐨勬柟娉曟灇涓� */
+export const IotDeviceMessageMethodEnum = {
+ // ========== 璁惧鐘舵�� ==========
+ STATE_UPDATE: {
+ method: 'thing.state.update',
+ name: '璁惧鐘舵�佸彉鏇�',
+ upstream: true
+ },
+
+ // ========== 璁惧灞炴�� ==========
+ PROPERTY_POST: {
+ method: 'thing.property.post',
+ name: '灞炴�т笂鎶�',
+ upstream: true
+ },
+ PROPERTY_SET: {
+ method: 'thing.property.set',
+ name: '灞炴�ц缃�',
+ upstream: false
+ },
+
+ // ========== 璁惧浜嬩欢 ==========
+ EVENT_POST: {
+ method: 'thing.event.post',
+ name: '浜嬩欢涓婃姤',
+ upstream: true
+ },
+
+ // ========== 鏈嶅姟璋冪敤 ==========
+ SERVICE_INVOKE: {
+ method: 'thing.service.invoke',
+ name: '鏈嶅姟璋冪敤',
+ upstream: false
+ },
+
+ // ========== 璁惧閰嶇疆 ==========
+ CONFIG_PUSH: {
+ method: 'thing.config.push',
+ name: '閰嶇疆鎺ㄩ��',
+ upstream: false
+ }
+}
+
+// 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'
+ },
+ WRITE_ONLY: {
+ label: '鍙啓',
+ value: 'w'
+ }
+} as const
+
+/** 鑾峰彇璁块棶妯″紡鏍囩 */
+export const getAccessModeLabel = (value: string): string => {
+ const mode = Object.values(IoTThingModelAccessModeEnum).find((mode) => mode.value === value)
+ return mode?.label || value
+}
+
+/** 灞炴�у�肩殑鏁版嵁绫诲瀷 */
+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})`
+}
+
+/** 鑾峰彇鏁版嵁绫诲瀷鏄剧ず鍚嶇О锛堢敤浜庡睘鎬ч�夋嫨鍣級 */
+export const getDataTypeName = (dataType: string): string => {
+ const typeMap = {
+ [IoTDataSpecsDataTypeEnum.INT]: '鏁存暟',
+ [IoTDataSpecsDataTypeEnum.FLOAT]: '娴偣鏁�',
+ [IoTDataSpecsDataTypeEnum.DOUBLE]: '鍙岀簿搴�',
+ [IoTDataSpecsDataTypeEnum.TEXT]: '瀛楃涓�',
+ [IoTDataSpecsDataTypeEnum.BOOL]: '甯冨皵鍊�',
+ [IoTDataSpecsDataTypeEnum.ENUM]: '鏋氫妇',
+ [IoTDataSpecsDataTypeEnum.DATE]: '鏃ユ湡',
+ [IoTDataSpecsDataTypeEnum.STRUCT]: '缁撴瀯浣�',
+ [IoTDataSpecsDataTypeEnum.ARRAY]: '鏁扮粍'
+ }
+ return typeMap[dataType] || dataType
+}
+
+/** 鑾峰彇鏁版嵁绫诲瀷鏍囩绫诲瀷锛堢敤浜� el-tag 鐨� type 灞炴�э級 */
+export const getDataTypeTagType = (
+ dataType: string
+): 'primary' | 'success' | 'info' | 'warning' | 'danger' => {
+ const tagMap = {
+ [IoTDataSpecsDataTypeEnum.INT]: 'primary',
+ [IoTDataSpecsDataTypeEnum.FLOAT]: 'success',
+ [IoTDataSpecsDataTypeEnum.DOUBLE]: 'success',
+ [IoTDataSpecsDataTypeEnum.TEXT]: 'info',
+ [IoTDataSpecsDataTypeEnum.BOOL]: 'warning',
+ [IoTDataSpecsDataTypeEnum.ENUM]: 'danger',
+ [IoTDataSpecsDataTypeEnum.DATE]: 'primary',
+ [IoTDataSpecsDataTypeEnum.STRUCT]: 'info',
+ [IoTDataSpecsDataTypeEnum.ARRAY]: 'warning'
+ } as const
+ return tagMap[dataType] || 'info'
+}
+
+/** 鐗╂ā鍨嬬粍鏍囩甯搁噺 */
+export const THING_MODEL_GROUP_LABELS = {
+ PROPERTY: '璁惧灞炴��',
+ EVENT: '璁惧浜嬩欢',
+ SERVICE: '璁惧鏈嶅姟'
+} as const
+
+// IoT OTA 浠诲姟璁惧鑼冨洿鏋氫妇
+export const IoTOtaTaskDeviceScopeEnum = {
+ ALL: {
+ label: '鍏ㄩ儴璁惧',
+ value: 1
+ },
+ SELECT: {
+ label: '鎸囧畾璁惧',
+ value: 2
+ }
+} as const
+
+// IoT OTA 浠诲姟鐘舵�佹灇涓�
+export const IoTOtaTaskStatusEnum = {
+ IN_PROGRESS: {
+ label: '杩涜涓�',
+ value: 10
+ },
+ END: {
+ label: '宸茬粨鏉�',
+ value: 20
+ },
+ CANCELED: {
+ label: '宸插彇娑�',
+ value: 30
+ }
+} as const
+
+// IoT OTA 鍗囩骇璁板綍鐘舵�佹灇涓�
+export const IoTOtaTaskRecordStatusEnum = {
+ PENDING: {
+ label: '寰呮帹閫�',
+ value: 0
+ },
+ PUSHED: {
+ label: '宸叉帹閫�',
+ value: 10
+ },
+ UPGRADING: {
+ label: '鍗囩骇涓�',
+ value: 20
+ },
+ SUCCESS: {
+ label: '鍗囩骇鎴愬姛',
+ value: 30
+ },
+ FAILURE: {
+ label: '鍗囩骇澶辫触',
+ value: 40
+ },
+ CANCELED: {
+ label: '鍗囩骇鍙栨秷',
+ value: 50
+ }
+} as const
+
+// ========== 鍦烘櫙鑱斿姩瑙勫垯鐩稿叧甯搁噺 ==========
+
+/** IoT 鍦烘櫙鑱斿姩瑙﹀彂鍣ㄧ被鍨嬫灇涓� */
+export const IotRuleSceneTriggerTypeEnum = {
+ DEVICE_STATE_UPDATE: 1, // 璁惧涓婁笅绾垮彉鏇�
+ DEVICE_PROPERTY_POST: 2, // 鐗╂ā鍨嬪睘鎬т笂鎶�
+ DEVICE_EVENT_POST: 3, // 璁惧浜嬩欢涓婃姤
+ DEVICE_SERVICE_INVOKE: 4, // 璁惧鏈嶅姟璋冪敤
+ TIMER: 100 // 瀹氭椂瑙﹀彂
+} as const
+
+/** 瑙﹀彂鍣ㄧ被鍨嬮�夐」閰嶇疆 */
+export const triggerTypeOptions = [
+ {
+ value: IotRuleSceneTriggerTypeEnum.DEVICE_STATE_UPDATE,
+ label: '璁惧鐘舵�佸彉鏇�'
+ },
+ {
+ value: IotRuleSceneTriggerTypeEnum.DEVICE_PROPERTY_POST,
+ label: '璁惧灞炴�т笂鎶�'
+ },
+ {
+ value: IotRuleSceneTriggerTypeEnum.DEVICE_EVENT_POST,
+ label: '璁惧浜嬩欢涓婃姤'
+ },
+ {
+ value: IotRuleSceneTriggerTypeEnum.DEVICE_SERVICE_INVOKE,
+ label: '璁惧鏈嶅姟璋冪敤'
+ },
+ {
+ value: IotRuleSceneTriggerTypeEnum.TIMER,
+ label: '瀹氭椂瑙﹀彂'
+ }
+]
+
+/** 鍒ゆ柇鏄惁涓鸿澶囪Е鍙戝櫒绫诲瀷 */
+export const isDeviceTrigger = (type: number): boolean => {
+ const deviceTriggerTypes = [
+ IotRuleSceneTriggerTypeEnum.DEVICE_STATE_UPDATE,
+ IotRuleSceneTriggerTypeEnum.DEVICE_PROPERTY_POST,
+ IotRuleSceneTriggerTypeEnum.DEVICE_EVENT_POST,
+ IotRuleSceneTriggerTypeEnum.DEVICE_SERVICE_INVOKE
+ ] as number[]
+ return deviceTriggerTypes.includes(type)
+}
+
+// ========== 鍦烘櫙鑱斿姩瑙勫垯鎵ц鍣ㄧ浉鍏冲父閲� ==========
+
+/** IoT 鍦烘櫙鑱斿姩鎵ц鍣ㄧ被鍨嬫灇涓� */
+export const IotRuleSceneActionTypeEnum = {
+ DEVICE_PROPERTY_SET: 1, // 璁惧灞炴�ц缃�
+ DEVICE_SERVICE_INVOKE: 2, // 璁惧鏈嶅姟璋冪敤
+ ALERT_TRIGGER: 100, // 鍛婅瑙﹀彂
+ ALERT_RECOVER: 101 // 鍛婅鎭㈠
+} as const
+
+/** 鎵ц鍣ㄧ被鍨嬮�夐」閰嶇疆 */
+export const getActionTypeOptions = () => [
+ {
+ value: IotRuleSceneActionTypeEnum.DEVICE_PROPERTY_SET,
+ label: '璁惧灞炴�ц缃�'
+ },
+ {
+ value: IotRuleSceneActionTypeEnum.DEVICE_SERVICE_INVOKE,
+ label: '璁惧鏈嶅姟璋冪敤'
+ },
+ {
+ value: IotRuleSceneActionTypeEnum.ALERT_TRIGGER,
+ label: '瑙﹀彂鍛婅'
+ },
+ {
+ value: IotRuleSceneActionTypeEnum.ALERT_RECOVER,
+ label: '鎭㈠鍛婅'
+ }
+]
+
+/** 鑾峰彇鎵ц鍣ㄧ被鍨嬫爣绛� */
+export const getActionTypeLabel = (type: number): string => {
+ const option = getActionTypeOptions().find((opt) => opt.value === type)
+ return option?.label || '鏈煡绫诲瀷'
+}
+
+/** IoT 鍦烘櫙鑱斿姩瑙﹀彂鏉′欢鍙傛暟鎿嶄綔绗︽灇涓� */
+export const IotRuleSceneTriggerConditionParameterOperatorEnum = {
+ EQUALS: { name: '绛変簬', value: '=' }, // 绛変簬
+ NOT_EQUALS: { name: '涓嶇瓑浜�', value: '!=' }, // 涓嶇瓑浜�
+ GREATER_THAN: { name: '澶т簬', value: '>' }, // 澶т簬
+ GREATER_THAN_OR_EQUALS: { name: '澶т簬绛変簬', value: '>=' }, // 澶т簬绛変簬
+ LESS_THAN: { name: '灏忎簬', value: '<' }, // 灏忎簬
+ LESS_THAN_OR_EQUALS: { name: '灏忎簬绛変簬', value: '<=' }, // 灏忎簬绛変簬
+ IN: { name: '鍦�...涔嬩腑', value: 'in' }, // 鍦�...涔嬩腑
+ NOT_IN: { name: '涓嶅湪...涔嬩腑', value: 'not in' }, // 涓嶅湪...涔嬩腑
+ BETWEEN: { name: '鍦�...涔嬮棿', value: 'between' }, // 鍦�...涔嬮棿
+ NOT_BETWEEN: { name: '涓嶅湪...涔嬮棿', value: 'not between' }, // 涓嶅湪...涔嬮棿
+ LIKE: { name: '瀛楃涓插尮閰�', value: 'like' }, // 瀛楃涓插尮閰�
+ NOT_NULL: { name: '闈炵┖', value: 'not null' } // 闈炵┖
+} as const
+
+/** IoT 鍦烘櫙鑱斿姩瑙﹀彂鏉′欢绫诲瀷鏋氫妇 */
+export const IotRuleSceneTriggerConditionTypeEnum = {
+ DEVICE_STATUS: 1, // 璁惧鐘舵��
+ DEVICE_PROPERTY: 2, // 璁惧灞炴��
+ CURRENT_TIME: 3 // 褰撳墠鏃堕棿
+} as const
+
+/** 鑾峰彇鏉′欢绫诲瀷閫夐」 */
+export const getConditionTypeOptions = () => [
+ {
+ value: IotRuleSceneTriggerConditionTypeEnum.DEVICE_STATUS,
+ label: '璁惧鐘舵��'
+ },
+ {
+ value: IotRuleSceneTriggerConditionTypeEnum.DEVICE_PROPERTY,
+ label: '璁惧灞炴��'
+ },
+ {
+ value: IotRuleSceneTriggerConditionTypeEnum.CURRENT_TIME,
+ label: '褰撳墠鏃堕棿'
+ }
+]
+
+/** 璁惧鐘舵�佹灇涓� - 缁熶竴鐨勮澶囩姸鎬佺鐞� */
+export const IoTDeviceStatusEnum = {
+ // 鍦ㄧ嚎鐘舵��
+ ONLINE: {
+ label: '鍦ㄧ嚎',
+ value: 'online',
+ tagType: 'success'
+ },
+ OFFLINE: {
+ label: '绂荤嚎',
+ value: 'offline',
+ tagType: 'danger'
+ },
+ // 鍚敤鐘舵��
+ ENABLED: {
+ label: '姝e父',
+ value: 0,
+ value2: 'enabled',
+ tagType: 'success'
+ },
+ DISABLED: {
+ label: '绂佺敤',
+ value: 1,
+ value2: 'disabled',
+ tagType: 'danger'
+ },
+ // 婵�娲荤姸鎬�
+ ACTIVATED: {
+ label: '宸叉縺娲�',
+ value2: 'activated',
+ tagType: 'success'
+ },
+ NOT_ACTIVATED: {
+ label: '鏈縺娲�',
+ value2: 'not_activated',
+ tagType: 'info'
+ }
+} as const
+
+/** 璁惧閫夋嫨鍣ㄧ壒娈婇�夐」 */
+export const DEVICE_SELECTOR_OPTIONS = {
+ ALL_DEVICES: {
+ id: 0,
+ deviceName: '鍏ㄩ儴璁惧'
+ }
+} as const
+
+/** IoT 鍦烘櫙鑱斿姩瑙﹀彂鏃堕棿鎿嶄綔绗︽灇涓� */
+export const IotRuleSceneTriggerTimeOperatorEnum = {
+ BEFORE_TIME: { name: '鍦ㄦ椂闂翠箣鍓�', value: 'before_time' }, // 鍦ㄦ椂闂翠箣鍓�
+ AFTER_TIME: { name: '鍦ㄦ椂闂翠箣鍚�', value: 'after_time' }, // 鍦ㄦ椂闂翠箣鍚�
+ BETWEEN_TIME: { name: '鍦ㄦ椂闂翠箣闂�', value: 'between_time' }, // 鍦ㄦ椂闂翠箣闂�
+ AT_TIME: { name: '鍦ㄦ寚瀹氭椂闂�', value: 'at_time' }, // 鍦ㄦ寚瀹氭椂闂�
+ BEFORE_TODAY: { name: '鍦ㄤ粖鏃ヤ箣鍓�', value: 'before_today' }, // 鍦ㄤ粖鏃ヤ箣鍓�
+ AFTER_TODAY: { name: '鍦ㄤ粖鏃ヤ箣鍚�', value: 'after_today' }, // 鍦ㄤ粖鏃ヤ箣鍚�
+ TODAY: { name: '鍦ㄤ粖鏃ヤ箣闂�', value: 'today' } // 鍦ㄤ粖鏃ヤ箣闂�
+} as const
+
+/** 鑾峰彇瑙﹀彂鍣ㄧ被鍨嬫爣绛� */
+export const getTriggerTypeLabel = (type: number): string => {
+ const option = triggerTypeOptions.find((item) => item.value === type)
+ return option?.label || '鏈煡绫诲瀷'
+}
+
+// ========== JSON 鍙傛暟杈撳叆缁勪欢鐩稿叧甯搁噺 ==========
+
+/** JSON 鍙傛暟杈撳叆缁勪欢绫诲瀷鏋氫妇 */
+export const JsonParamsInputTypeEnum = {
+ SERVICE: 'service',
+ EVENT: 'event',
+ PROPERTY: 'property',
+ CUSTOM: 'custom'
+} as const
+
+/** JSON 鍙傛暟杈撳叆缁勪欢绫诲瀷 */
+export type JsonParamsInputType =
+ (typeof JsonParamsInputTypeEnum)[keyof typeof JsonParamsInputTypeEnum]
+
+/** JSON 鍙傛暟杈撳叆缁勪欢鏂囨湰甯搁噺 */
+export const JSON_PARAMS_INPUT_CONSTANTS = {
+ // 鍩虹鏂囨湰
+ PLACEHOLDER: '璇疯緭鍏SON鏍煎紡鐨勫弬鏁�',
+ JSON_FORMAT_CORRECT: 'JSON 鏍煎紡姝g‘',
+ QUICK_FILL_LABEL: '蹇�熷~鍏咃細',
+ EXAMPLE_DATA_BUTTON: '绀轰緥鏁版嵁',
+ CLEAR_BUTTON: '娓呯┖',
+ VIEW_EXAMPLE_TITLE: '鏌ョ湅鍙傛暟绀轰緥',
+ COMPLETE_JSON_FORMAT: '瀹屾暣 JSON 鏍煎紡锛�',
+ REQUIRED_TAG: '蹇呭~',
+
+ // 閿欒淇℃伅
+ PARAMS_MUST_BE_OBJECT: '鍙傛暟蹇呴』鏄竴涓湁鏁堢殑 JSON 瀵硅薄',
+ PARAM_REQUIRED_ERROR: (paramName: string) => `鍙傛暟 ${paramName} 涓哄繀濉」`,
+ JSON_FORMAT_ERROR: (error: string) => `JSON鏍煎紡閿欒: ${error}`,
+ UNKNOWN_ERROR: '鏈煡閿欒',
+
+ // 绫诲瀷鐩稿叧鏍囬
+ TITLES: {
+ SERVICE: (name?: string) => `${name || '鏈嶅姟'} - 杈撳叆鍙傛暟绀轰緥`,
+ EVENT: (name?: string) => `${name || '浜嬩欢'} - 杈撳嚭鍙傛暟绀轰緥`,
+ PROPERTY: '灞炴�ц缃� - 鍙傛暟绀轰緥',
+ CUSTOM: (name?: string) => `${name || '鑷畾涔�'} - 鍙傛暟绀轰緥`,
+ DEFAULT: '鍙傛暟绀轰緥'
+ },
+
+ // 鍙傛暟鏍囩
+ PARAMS_LABELS: {
+ SERVICE: '杈撳叆鍙傛暟',
+ EVENT: '杈撳嚭鍙傛暟',
+ PROPERTY: '灞炴�у弬鏁�',
+ CUSTOM: '鍙傛暟鍒楄〃',
+ DEFAULT: '鍙傛暟'
+ },
+
+ // 绌虹姸鎬佹秷鎭�
+ EMPTY_MESSAGES: {
+ SERVICE: '姝ゆ湇鍔℃棤闇�杈撳叆鍙傛暟',
+ EVENT: '姝や簨浠舵棤杈撳嚭鍙傛暟',
+ PROPERTY: '鏃犲彲璁剧疆鐨勫睘鎬�',
+ CUSTOM: '鏃犲弬鏁伴厤缃�',
+ DEFAULT: '鏃犲弬鏁�'
+ },
+
+ // 鏃犻厤缃秷鎭�
+ NO_CONFIG_MESSAGES: {
+ SERVICE: '璇峰厛閫夋嫨鏈嶅姟',
+ EVENT: '璇峰厛閫夋嫨浜嬩欢',
+ PROPERTY: '璇峰厛閫夋嫨浜у搧',
+ CUSTOM: '璇峰厛杩涜閰嶇疆',
+ DEFAULT: '璇峰厛杩涜閰嶇疆'
+ }
+} as const
+
+/** JSON 鍙傛暟杈撳叆缁勪欢鍥炬爣甯搁噺 */
+export const JSON_PARAMS_INPUT_ICONS = {
+ // 鏍囬鍥炬爣
+ TITLE_ICONS: {
+ SERVICE: 'ep:service',
+ EVENT: 'ep:bell',
+ PROPERTY: 'ep:edit',
+ CUSTOM: 'ep:document',
+ DEFAULT: 'ep:document'
+ },
+
+ // 鍙傛暟鍥炬爣
+ PARAMS_ICONS: {
+ SERVICE: 'ep:edit',
+ EVENT: 'ep:upload',
+ PROPERTY: 'ep:setting',
+ CUSTOM: 'ep:list',
+ DEFAULT: 'ep:edit'
+ },
+
+ // 鐘舵�佸浘鏍�
+ STATUS_ICONS: {
+ ERROR: 'ep:warning',
+ SUCCESS: 'ep:circle-check'
+ }
+} as const
+
+/** JSON 鍙傛暟杈撳叆缁勪欢绀轰緥鍊煎父閲� */
+export const JSON_PARAMS_EXAMPLE_VALUES = {
+ [IoTDataSpecsDataTypeEnum.INT]: { display: '25', value: 25 },
+ [IoTDataSpecsDataTypeEnum.FLOAT]: { display: '25.5', value: 25.5 },
+ [IoTDataSpecsDataTypeEnum.DOUBLE]: { display: '25.5', value: 25.5 },
+ [IoTDataSpecsDataTypeEnum.BOOL]: { display: 'false', value: false },
+ [IoTDataSpecsDataTypeEnum.TEXT]: { display: '"auto"', value: 'auto' },
+ [IoTDataSpecsDataTypeEnum.ENUM]: { display: '"option1"', value: 'option1' },
+ [IoTDataSpecsDataTypeEnum.STRUCT]: { display: '{}', value: {} },
+ [IoTDataSpecsDataTypeEnum.ARRAY]: { display: '[]', value: [] },
+ DEFAULT: { display: '""', value: '' }
+} as const
--
Gitblit v1.8.0