CMVR-IOT/cmvr-iot-test/src/main/java/com/cmvr/test/enums/ActionEnum.java

76 lines
2.4 KiB
Java
Raw Normal View History

2025-08-21 14:39:54 +08:00
package com.cmvr.test.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Getter
@AllArgsConstructor
public enum ActionEnum {
// 平台控制类
STOPPED("NONE", "STOP", "强制终止"),
PAUSED("NONE", "PAUSED", "暂停"),
RESUME("NONE", "RESUME", "继续"),
START("NONE", "START", "开始"),
SUB_START("NONE", "SUB_START", "循环开始(子流程开始)"),
END("NONE", "END", "结束"),
START_LOOP("NONE", "START_LOOP", "开始循环"),
STOP_LOOP("NONE", "STOP_LOOP", "结束循环"),
2025-08-21 14:39:54 +08:00
BRANCH("NONE", "BRANCH", "分支"),
SUB_END("NONE", "SUB_END", "子流程结束"),
2025-08-21 14:39:54 +08:00
SLEEP("NONE", "SLEEP", "延迟节点"),
// 系统行为
NONE("NONE", "NONE", "无操作"),
// 设备行为
// ---------------相机---------------
CAMERA_START("EDGE", "CAMERA_START", "启动相机"),
CAMERA_STOP("EDGE", "CAMERA_STOP", "停止相机"),
CAMERA_GETRGBIMAGE("EDGE", "CAMERA_GETRGBIMAGE", "获取RGB图像"),
CAMERA_RECORDING_START("EDGE", "CAMERA_RECORDING_START", "开始录像"),
CAMERA_RECORDING_STOP("EDGE", "CAMERA_RECORDING_STOP", "结束录像"),
// ---------------麦克风---------------
MICROPHONE_START("EDGE", "MICROPHONE_START", "启动麦克风"),
MICROPHONE_STOP("EDGE", "MICROPHONE_STOP", "停止麦克风"),
// ---------------扬声器(人工嘴)---------------
SPEAKER_PLAYAUDIO("EDGE", "SPEAKER_PLAYAUDIO", "播放音频"),
// 大模型行为
// ---------------获取触控坐标---------------
TOUCH_COORDINATES("LLM", "TOUCH_COORDINATES", "获取触控坐标"),
;
private final String operate;
private final String action;
private final String description;
// 根据action值获取对应的枚举
public static ActionEnum fromAction(String action) {
for (ActionEnum actionEnum : values()) {
if (actionEnum.getAction().equalsIgnoreCase(action)) {
return actionEnum;
}
}
return null;
}
public static List<Map<String, String>> toList() {
List<Map<String, String>> list = new ArrayList<>();
for (ActionEnum e : values()) {
Map<String, String> map = new HashMap<>();
map.put("action", e.getAction());
map.put("description", e.getDescription());
list.add(map);
}
return list;
}
}