fix:【iot 物联网】linter 报错

This commit is contained in:
YunaiV
2025-10-10 20:26:17 +08:00
parent b6fee5c05b
commit f740461c2a
107 changed files with 7161 additions and 5905 deletions

View File

@@ -5,15 +5,15 @@ const isEmpty = (value: any): boolean => {
/** IoT 依赖注入 KEY */
export const IOT_PROVIDE_KEY = {
PRODUCT: 'IOT_PRODUCT'
}
PRODUCT: 'IOT_PRODUCT',
};
/** IoT 产品物模型类型枚举类 */
export const IoTThingModelTypeEnum = {
PROPERTY: 1, // 属性
SERVICE: 2, // 服务
EVENT: 3 // 事件
} as const
EVENT: 3, // 事件
} as const;
/** IoT 设备消息的方法枚举 */
export const IotDeviceMessageMethodEnum = {
@@ -21,102 +21,109 @@ export const IotDeviceMessageMethodEnum = {
STATE_UPDATE: {
method: 'thing.state.update',
name: '设备状态变更',
upstream: true
upstream: true,
},
// ========== 设备属性 ==========
PROPERTY_POST: {
method: 'thing.property.post',
name: '属性上报',
upstream: true
upstream: true,
},
PROPERTY_SET: {
method: 'thing.property.set',
name: '属性设置',
upstream: false
upstream: false,
},
// ========== 设备事件 ==========
EVENT_POST: {
method: 'thing.event.post',
name: '事件上报',
upstream: true
upstream: true,
},
// ========== 服务调用 ==========
SERVICE_INVOKE: {
method: 'thing.service.invoke',
name: '服务调用',
upstream: false
upstream: false,
},
// ========== 设备配置 ==========
CONFIG_PUSH: {
method: 'thing.config.push',
name: '配置推送',
upstream: false
}
}
upstream: false,
},
};
// IoT 产品物模型服务调用方式枚举
export const IoTThingModelServiceCallTypeEnum = {
ASYNC: {
label: '异步',
value: 'async'
value: 'async',
},
SYNC: {
label: '同步',
value: 'sync'
}
} as const
export const getThingModelServiceCallTypeLabel = (value: string): string | undefined =>
Object.values(IoTThingModelServiceCallTypeEnum).find((type) => type.value === value)?.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'
value: 'info',
},
ALERT: {
label: '告警',
value: 'alert'
value: 'alert',
},
ERROR: {
label: '故障',
value: 'error'
}
} as const
value: 'error',
},
} as const;
export const getEventTypeLabel = (value: string): string | undefined =>
Object.values(IoTThingModelEventTypeEnum).find((type) => type.value === value)?.label
Object.values(IoTThingModelEventTypeEnum).find((type) => type.value === value)
?.label;
// IoT 产品物模型参数是输入参数还是输出参数
export const IoTThingModelParamDirectionEnum = {
INPUT: 'input', // 输入参数
OUTPUT: 'output' // 输出参数
} as const
OUTPUT: 'output', // 输出参数
} as const;
// IoT 产品物模型访问模式枚举类
export const IoTThingModelAccessModeEnum = {
READ_WRITE: {
label: '读写',
value: 'rw'
value: 'rw',
},
READ_ONLY: {
label: '只读',
value: 'r'
value: 'r',
},
WRITE_ONLY: {
label: '只写',
value: 'w'
}
} as const
value: 'w',
},
} as const;
/** 获取访问模式标签 */
export const getAccessModeLabel = (value: string): string => {
const mode = Object.values(IoTThingModelAccessModeEnum).find((mode) => mode.value === value)
return mode?.label || value
}
const mode = Object.values(IoTThingModelAccessModeEnum).find(
(mode) => mode.value === value,
);
return mode?.label || value;
};
/** 属性值的数据类型 */
export const IoTDataSpecsDataTypeEnum = {
@@ -128,8 +135,8 @@ export const IoTDataSpecsDataTypeEnum = {
TEXT: 'text',
DATE: 'date',
STRUCT: 'struct',
ARRAY: 'array'
} as const
ARRAY: 'array',
} as const;
export const getDataTypeOptions = () => {
return [
@@ -141,18 +148,20 @@ export const getDataTypeOptions = () => {
{ value: IoTDataSpecsDataTypeEnum.TEXT, label: '文本型' },
{ value: IoTDataSpecsDataTypeEnum.DATE, label: '时间型' },
{ value: IoTDataSpecsDataTypeEnum.STRUCT, label: '结构体' },
{ value: IoTDataSpecsDataTypeEnum.ARRAY, label: '数组' }
]
}
{ value: IoTDataSpecsDataTypeEnum.ARRAY, label: '数组' },
];
};
/** 获得物体模型数据类型配置项名称 */
export const getDataTypeOptionsLabel = (value: string) => {
if (isEmpty(value)) {
return value
return value;
}
const dataType = getDataTypeOptions().find((option) => option.value === value)
return dataType && `${dataType.value}(${dataType.label})`
}
const dataType = getDataTypeOptions().find(
(option) => option.value === value,
);
return dataType && `${dataType.value}(${dataType.label})`;
};
/** 获取数据类型显示名称(用于属性选择器) */
export const getDataTypeName = (dataType: string): string => {
@@ -165,15 +174,15 @@ export const getDataTypeName = (dataType: string): string => {
[IoTDataSpecsDataTypeEnum.ENUM]: '枚举',
[IoTDataSpecsDataTypeEnum.DATE]: '日期',
[IoTDataSpecsDataTypeEnum.STRUCT]: '结构体',
[IoTDataSpecsDataTypeEnum.ARRAY]: '数组'
}
return typeMap[dataType] || dataType
}
[IoTDataSpecsDataTypeEnum.ARRAY]: '数组',
};
return typeMap[dataType] || dataType;
};
/** 获取数据类型标签类型(用于 el-tag 的 type 属性) */
export const getDataTypeTagType = (
dataType: string
): 'primary' | 'success' | 'info' | 'warning' | 'danger' => {
dataType: string,
): 'danger' | 'info' | 'primary' | 'success' | 'warning' => {
const tagMap = {
[IoTDataSpecsDataTypeEnum.INT]: 'primary',
[IoTDataSpecsDataTypeEnum.FLOAT]: 'success',
@@ -183,73 +192,73 @@ export const getDataTypeTagType = (
[IoTDataSpecsDataTypeEnum.ENUM]: 'danger',
[IoTDataSpecsDataTypeEnum.DATE]: 'primary',
[IoTDataSpecsDataTypeEnum.STRUCT]: 'info',
[IoTDataSpecsDataTypeEnum.ARRAY]: 'warning'
} as const
return tagMap[dataType] || 'info'
}
[IoTDataSpecsDataTypeEnum.ARRAY]: 'warning',
} as const;
return tagMap[dataType] || 'info';
};
/** 物模型组标签常量 */
export const THING_MODEL_GROUP_LABELS = {
PROPERTY: '设备属性',
EVENT: '设备事件',
SERVICE: '设备服务'
} as const
SERVICE: '设备服务',
} as const;
// IoT OTA 任务设备范围枚举
export const IoTOtaTaskDeviceScopeEnum = {
ALL: {
label: '全部设备',
value: 1
value: 1,
},
SELECT: {
label: '指定设备',
value: 2
}
} as const
value: 2,
},
} as const;
// IoT OTA 任务状态枚举
export const IoTOtaTaskStatusEnum = {
IN_PROGRESS: {
label: '进行中',
value: 10
value: 10,
},
END: {
label: '已结束',
value: 20
value: 20,
},
CANCELED: {
label: '已取消',
value: 30
}
} as const
value: 30,
},
} as const;
// IoT OTA 升级记录状态枚举
export const IoTOtaTaskRecordStatusEnum = {
PENDING: {
label: '待推送',
value: 0
value: 0,
},
PUSHED: {
label: '已推送',
value: 10
value: 10,
},
UPGRADING: {
label: '升级中',
value: 20
value: 20,
},
SUCCESS: {
label: '升级成功',
value: 30
value: 30,
},
FAILURE: {
label: '升级失败',
value: 40
value: 40,
},
CANCELED: {
label: '升级取消',
value: 50
}
} as const
value: 50,
},
} as const;
// ========== 场景联动规则相关常量 ==========
@@ -259,32 +268,32 @@ export const IotRuleSceneTriggerTypeEnum = {
DEVICE_PROPERTY_POST: 2, // 物模型属性上报
DEVICE_EVENT_POST: 3, // 设备事件上报
DEVICE_SERVICE_INVOKE: 4, // 设备服务调用
TIMER: 100 // 定时触发
} as const
TIMER: 100, // 定时触发
} as const;
/** 触发器类型选项配置 */
export const triggerTypeOptions = [
{
value: IotRuleSceneTriggerTypeEnum.DEVICE_STATE_UPDATE,
label: '设备状态变更'
label: '设备状态变更',
},
{
value: IotRuleSceneTriggerTypeEnum.DEVICE_PROPERTY_POST,
label: '设备属性上报'
label: '设备属性上报',
},
{
value: IotRuleSceneTriggerTypeEnum.DEVICE_EVENT_POST,
label: '设备事件上报'
label: '设备事件上报',
},
{
value: IotRuleSceneTriggerTypeEnum.DEVICE_SERVICE_INVOKE,
label: '设备服务调用'
label: '设备服务调用',
},
{
value: IotRuleSceneTriggerTypeEnum.TIMER,
label: '定时触发'
}
]
label: '定时触发',
},
];
/** 判断是否为设备触发器类型 */
export const isDeviceTrigger = (type: number): boolean => {
@@ -292,10 +301,10 @@ export const isDeviceTrigger = (type: number): boolean => {
IotRuleSceneTriggerTypeEnum.DEVICE_STATE_UPDATE,
IotRuleSceneTriggerTypeEnum.DEVICE_PROPERTY_POST,
IotRuleSceneTriggerTypeEnum.DEVICE_EVENT_POST,
IotRuleSceneTriggerTypeEnum.DEVICE_SERVICE_INVOKE
] as number[]
return deviceTriggerTypes.includes(type)
}
IotRuleSceneTriggerTypeEnum.DEVICE_SERVICE_INVOKE,
] as number[];
return deviceTriggerTypes.includes(type);
};
// ========== 场景联动规则执行器相关常量 ==========
@@ -304,34 +313,34 @@ export const IotRuleSceneActionTypeEnum = {
DEVICE_PROPERTY_SET: 1, // 设备属性设置
DEVICE_SERVICE_INVOKE: 2, // 设备服务调用
ALERT_TRIGGER: 100, // 告警触发
ALERT_RECOVER: 101 // 告警恢复
} as const
ALERT_RECOVER: 101, // 告警恢复
} as const;
/** 执行器类型选项配置 */
export const getActionTypeOptions = () => [
{
value: IotRuleSceneActionTypeEnum.DEVICE_PROPERTY_SET,
label: '设备属性设置'
label: '设备属性设置',
},
{
value: IotRuleSceneActionTypeEnum.DEVICE_SERVICE_INVOKE,
label: '设备服务调用'
label: '设备服务调用',
},
{
value: IotRuleSceneActionTypeEnum.ALERT_TRIGGER,
label: '触发告警'
label: '触发告警',
},
{
value: IotRuleSceneActionTypeEnum.ALERT_RECOVER,
label: '恢复告警'
}
]
label: '恢复告警',
},
];
/** 获取执行器类型标签 */
export const getActionTypeLabel = (type: number): string => {
const option = getActionTypeOptions().find((opt) => opt.value === type)
return option?.label || '未知类型'
}
const option = getActionTypeOptions().find((opt) => opt.value === type);
return option?.label || '未知类型';
};
/** IoT 场景联动触发条件参数操作符枚举 */
export const IotRuleSceneTriggerConditionParameterOperatorEnum = {
@@ -346,31 +355,31 @@ export const IotRuleSceneTriggerConditionParameterOperatorEnum = {
BETWEEN: { name: '在...之间', value: 'between' }, // 在...之间
NOT_BETWEEN: { name: '不在...之间', value: 'not between' }, // 不在...之间
LIKE: { name: '字符串匹配', value: 'like' }, // 字符串匹配
NOT_NULL: { name: '非空', value: 'not null' } // 非空
} as const
NOT_NULL: { name: '非空', value: 'not null' }, // 非空
} as const;
/** IoT 场景联动触发条件类型枚举 */
export const IotRuleSceneTriggerConditionTypeEnum = {
DEVICE_STATUS: 1, // 设备状态
DEVICE_PROPERTY: 2, // 设备属性
CURRENT_TIME: 3 // 当前时间
} as const
CURRENT_TIME: 3, // 当前时间
} as const;
/** 获取条件类型选项 */
export const getConditionTypeOptions = () => [
{
value: IotRuleSceneTriggerConditionTypeEnum.DEVICE_STATUS,
label: '设备状态'
label: '设备状态',
},
{
value: IotRuleSceneTriggerConditionTypeEnum.DEVICE_PROPERTY,
label: '设备属性'
label: '设备属性',
},
{
value: IotRuleSceneTriggerConditionTypeEnum.CURRENT_TIME,
label: '当前时间'
}
]
label: '当前时间',
},
];
/** 设备状态枚举 - 统一的设备状态管理 */
export const IoTDeviceStatusEnum = {
@@ -378,46 +387,46 @@ export const IoTDeviceStatusEnum = {
ONLINE: {
label: '在线',
value: 'online',
tagType: 'success'
tagType: 'success',
},
OFFLINE: {
label: '离线',
value: 'offline',
tagType: 'danger'
tagType: 'danger',
},
// 启用状态
ENABLED: {
label: '正常',
value: 0,
value2: 'enabled',
tagType: 'success'
tagType: 'success',
},
DISABLED: {
label: '禁用',
value: 1,
value2: 'disabled',
tagType: 'danger'
tagType: 'danger',
},
// 激活状态
ACTIVATED: {
label: '已激活',
value2: 'activated',
tagType: 'success'
tagType: 'success',
},
NOT_ACTIVATED: {
label: '未激活',
value2: 'not_activated',
tagType: 'info'
}
} as const
tagType: 'info',
},
} as const;
/** 设备选择器特殊选项 */
export const DEVICE_SELECTOR_OPTIONS = {
ALL_DEVICES: {
id: 0,
deviceName: '全部设备'
}
} as const
deviceName: '全部设备',
},
} as const;
/** IoT 场景联动触发时间操作符枚举 */
export const IotRuleSceneTriggerTimeOperatorEnum = {
@@ -427,14 +436,14 @@ export const IotRuleSceneTriggerTimeOperatorEnum = {
AT_TIME: { name: '在指定时间', value: 'at_time' }, // 在指定时间
BEFORE_TODAY: { name: '在今日之前', value: 'before_today' }, // 在今日之前
AFTER_TODAY: { name: '在今日之后', value: 'after_today' }, // 在今日之后
TODAY: { name: '在今日之间', value: 'today' } // 在今日之间
} as const
TODAY: { name: '在今日之间', value: 'today' }, // 在今日之间
} as const;
/** 获取触发器类型标签 */
export const getTriggerTypeLabel = (type: number): string => {
const option = triggerTypeOptions.find((item) => item.value === type)
return option?.label || '未知类型'
}
const option = triggerTypeOptions.find((item) => item.value === type);
return option?.label || '未知类型';
};
// ========== JSON 参数输入组件相关常量 ==========
@@ -443,12 +452,12 @@ export const JsonParamsInputTypeEnum = {
SERVICE: 'service',
EVENT: 'event',
PROPERTY: 'property',
CUSTOM: 'custom'
} as const
CUSTOM: 'custom',
} as const;
/** JSON 参数输入组件类型 */
export type JsonParamsInputType =
(typeof JsonParamsInputTypeEnum)[keyof typeof JsonParamsInputTypeEnum]
(typeof JsonParamsInputTypeEnum)[keyof typeof JsonParamsInputTypeEnum];
/** JSON 参数输入组件文本常量 */
export const JSON_PARAMS_INPUT_CONSTANTS = {
@@ -474,7 +483,7 @@ export const JSON_PARAMS_INPUT_CONSTANTS = {
EVENT: (name?: string) => `${name || '事件'} - 输出参数示例`,
PROPERTY: '属性设置 - 参数示例',
CUSTOM: (name?: string) => `${name || '自定义'} - 参数示例`,
DEFAULT: '参数示例'
DEFAULT: '参数示例',
},
// 参数标签
@@ -483,7 +492,7 @@ export const JSON_PARAMS_INPUT_CONSTANTS = {
EVENT: '输出参数',
PROPERTY: '属性参数',
CUSTOM: '参数列表',
DEFAULT: '参数'
DEFAULT: '参数',
},
// 空状态消息
@@ -492,7 +501,7 @@ export const JSON_PARAMS_INPUT_CONSTANTS = {
EVENT: '此事件无输出参数',
PROPERTY: '无可设置的属性',
CUSTOM: '无参数配置',
DEFAULT: '无参数'
DEFAULT: '无参数',
},
// 无配置消息
@@ -501,9 +510,9 @@ export const JSON_PARAMS_INPUT_CONSTANTS = {
EVENT: '请先选择事件',
PROPERTY: '请先选择产品',
CUSTOM: '请先进行配置',
DEFAULT: '请先进行配置'
}
} as const
DEFAULT: '请先进行配置',
},
} as const;
/** JSON 参数输入组件图标常量 */
export const JSON_PARAMS_INPUT_ICONS = {
@@ -513,7 +522,7 @@ export const JSON_PARAMS_INPUT_ICONS = {
EVENT: 'ep:bell',
PROPERTY: 'ep:edit',
CUSTOM: 'ep:document',
DEFAULT: 'ep:document'
DEFAULT: 'ep:document',
},
// 参数图标
@@ -522,15 +531,15 @@ export const JSON_PARAMS_INPUT_ICONS = {
EVENT: 'ep:upload',
PROPERTY: 'ep:setting',
CUSTOM: 'ep:list',
DEFAULT: 'ep:edit'
DEFAULT: 'ep:edit',
},
// 状态图标
STATUS_ICONS: {
ERROR: 'ep:warning',
SUCCESS: 'ep:circle-check'
}
} as const
SUCCESS: 'ep:circle-check',
},
} as const;
/** JSON 参数输入组件示例值常量 */
export const JSON_PARAMS_EXAMPLE_VALUES = {
@@ -542,5 +551,5 @@ export const JSON_PARAMS_EXAMPLE_VALUES = {
[IoTDataSpecsDataTypeEnum.ENUM]: { display: '"option1"', value: 'option1' },
[IoTDataSpecsDataTypeEnum.STRUCT]: { display: '{}', value: {} },
[IoTDataSpecsDataTypeEnum.ARRAY]: { display: '[]', value: [] },
DEFAULT: { display: '""', value: '' }
} as const
DEFAULT: { display: '""', value: '' },
} as const;