feat: 触控交互(部分)

This commit is contained in:
stream 2026-02-04 14:23:13 +08:00
parent e553e66379
commit 5d41c6b1ae
7 changed files with 28 additions and 12 deletions

View File

@ -13,7 +13,8 @@ public enum FlowSceneTypeEnum {
NORMAL(0, "普通流程场景", "NORMAL"), NORMAL(0, "普通流程场景", "NORMAL"),
VI_WAKEUP_CORPUS(1, "语音交互-唤醒场景", "VI_WAKEUP_CORPUS"), VI_WAKEUP_CORPUS(1, "语音交互-唤醒场景", "VI_WAKEUP_CORPUS"),
VI_SINGLE_CORPUS(2, "语音交互-单次对话场景", "VI_SINGLE_CORPUS"), VI_SINGLE_CORPUS(2, "语音交互-单次对话场景", "VI_SINGLE_CORPUS"),
VI_CONTINUOUS_CORPUS(3, "语音交互-连续对话场景", "VI_CONTINUOUS_CORPUS"); VI_CONTINUOUS_CORPUS(3, "语音交互-连续对话场景", "VI_CONTINUOUS_CORPUS"),
TI_TOUCH(4, "触控交互场景", "TI_TOUCH");
private final int code; // 数字类型 private final int code; // 数字类型
private final String desc; // 描述 private final String desc; // 描述

View File

@ -18,6 +18,7 @@ public enum NodeTypeEnum {
STOP_LOOP("stopLoop"), STOP_LOOP("stopLoop"),
END("end"), END("end"),
SLEEP("sleep"), SLEEP("sleep"),
HTTP("http"),
SUB_END("subEnd"), SUB_END("subEnd"),
; ;

View File

@ -286,6 +286,8 @@ public class FlowModelBuilder {
return NodeTypeEnum.STOP_LOOP; return NodeTypeEnum.STOP_LOOP;
case "sleep": case "sleep":
return NodeTypeEnum.SLEEP; return NodeTypeEnum.SLEEP;
case "http":
return NodeTypeEnum.HTTP;
default: default:
return NodeTypeEnum.FUNCTION; return NodeTypeEnum.FUNCTION;
} }

View File

@ -18,7 +18,10 @@ public class FlowHttpNodeHandler implements FlowNodeTypeHandler {
@Override @Override
public TaskNodeExecuteResult handle(TaskNodeExecuteMessage message) { public TaskNodeExecuteResult handle(TaskNodeExecuteMessage message) {
try { JSONObject output = new JSONObject();
output.put("result", "主页");
return TaskNodeExecuteResult.success(output);
/* try {
JSONObject inputParams = message.getInputParams(); JSONObject inputParams = message.getInputParams();
// 1. 必填参数校验 // 1. 必填参数校验
@ -91,6 +94,6 @@ public class FlowHttpNodeHandler implements FlowNodeTypeHandler {
} catch (Exception e) { } catch (Exception e) {
log.error("[FLOW][HTTP] 执行异常", e); log.error("[FLOW][HTTP] 执行异常", e);
return TaskNodeExecuteResult.failure(e.getMessage()); return TaskNodeExecuteResult.failure(e.getMessage());
} }*/
} }
} }

View File

@ -4,6 +4,7 @@ import cn.hutool.core.io.FileUtil;
import cn.hutool.core.text.StrPool; import cn.hutool.core.text.StrPool;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.cmvr.common.config.properties.MinioProperties; import com.cmvr.common.config.properties.MinioProperties;
import com.cmvr.common.core.minio.MinioService; import com.cmvr.common.core.minio.MinioService;
@ -66,11 +67,10 @@ public class TiTouchOperateService implements EdgeOperateService {
switch (action) { switch (action) {
case TI_PATH_SEARCH: { case TI_PATH_SEARCH: {
// 当前界面 // 当前界面
String currentLocation = inputParams.getString("currentLocation"); // String currentLocation = inputParams.getString("currentLocation");
String currentLocation = "主页";
// 查询功能 // 查询功能
long funcId = inputParams.getLongValue("funcId"); JSONObject funcObj = getFuncObj(message.getIterations(),inputParams);
JSONObject funcObj = exTiVehicleFunctionService.queryById(funcId);
String funcKey = funcObj.getString("funcKey"); String funcKey = funcObj.getString("funcKey");
String iconUrl = funcObj.getString("iconUrl"); String iconUrl = funcObj.getString("iconUrl");
@ -134,6 +134,13 @@ public class TiTouchOperateService implements EdgeOperateService {
return TaskNodeExecuteResult.success(output); return TaskNodeExecuteResult.success(output);
} }
private JSONObject getFuncObj(List<Integer> iterations, JSONObject inputParams) {
JSONArray funcIds = inputParams.getJSONArray("funcId");
int index = iterations.get(0) - 1;
Long funcId = funcIds.toJavaList(Long.class).get(index);
return exTiVehicleFunctionService.queryById(funcId);
}
private String getTouchCoordinates(String pageImageUrl, String iconImageUrl) { private String getTouchCoordinates(String pageImageUrl, String iconImageUrl) {
AgentConfig agentConfig = apiProperties.getAgentConfig(ActionEnum.TI_TOUCH_COORDINATES.getAction()); AgentConfig agentConfig = apiProperties.getAgentConfig(ActionEnum.TI_TOUCH_COORDINATES.getAction());
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();

View File

@ -3,6 +3,7 @@ package com.cmvr.ti.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.cmvr.test.model.domain.TeTaskInst; import com.cmvr.test.model.domain.TeTaskInst;
import com.cmvr.test.model.vo.TeQueryProjectOrchestraItemVO; import com.cmvr.test.model.vo.TeQueryProjectOrchestraItemVO;
import com.cmvr.test.model.vo.TeQueryTaskOrchestraItemVO;
import com.cmvr.test.model.vo.TeTaskExecuteProjectVO; import com.cmvr.test.model.vo.TeTaskExecuteProjectVO;
import com.cmvr.ti.model.domain.TiProject; import com.cmvr.ti.model.domain.TiProject;
@ -19,7 +20,7 @@ public interface ITiProjectService extends IService<TiProject> {
public int deleteTiProjectByProjectIds(String[] projectIds); public int deleteTiProjectByProjectIds(String[] projectIds);
public List<TeQueryProjectOrchestraItemVO> queryExecuteRunParams(String projectId); public List<TeQueryTaskOrchestraItemVO> queryExecuteRunParams(String projectId);
public String executeProject(TeTaskExecuteProjectVO taskExecuteProjectVO); public String executeProject(TeTaskExecuteProjectVO taskExecuteProjectVO);

View File

@ -13,9 +13,10 @@ import com.cmvr.test.enums.RunModeEnum;
import com.cmvr.test.flow.runtime.engine.FlowTaskRuntimeService; import com.cmvr.test.flow.runtime.engine.FlowTaskRuntimeService;
import com.cmvr.test.model.domain.TeTaskConfigInfo; import com.cmvr.test.model.domain.TeTaskConfigInfo;
import com.cmvr.test.model.domain.TeTaskInst; import com.cmvr.test.model.domain.TeTaskInst;
import com.cmvr.test.model.vo.TeQueryProjectOrchestraItemVO; import com.cmvr.test.model.vo.TeQueryTaskOrchestraItemVO;
import com.cmvr.test.model.vo.TeTaskExecuteProjectVO; import com.cmvr.test.model.vo.TeTaskExecuteProjectVO;
import com.cmvr.test.service.ITeTaskConfigInfoService; import com.cmvr.test.service.ITeTaskConfigInfoService;
import com.cmvr.test.service.ITeTaskOrchestrationService;
import com.cmvr.ti.mapper.TiProjectMapper; import com.cmvr.ti.mapper.TiProjectMapper;
import com.cmvr.ti.model.domain.TiProject; import com.cmvr.ti.model.domain.TiProject;
import com.cmvr.ti.model.domain.TiVehicleFunction; import com.cmvr.ti.model.domain.TiVehicleFunction;
@ -25,7 +26,6 @@ import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -33,6 +33,7 @@ import java.util.stream.Collectors;
@RequiredArgsConstructor @RequiredArgsConstructor
public class TiProjectServiceImpl extends ServiceImpl<TiProjectMapper, TiProject> implements ITiProjectService { public class TiProjectServiceImpl extends ServiceImpl<TiProjectMapper, TiProject> implements ITiProjectService {
private final ITeTaskOrchestrationService taskOrchestrationService;
private final ITeTaskConfigInfoService taskConfigInfoService; private final ITeTaskConfigInfoService taskConfigInfoService;
private final FlowTaskRuntimeService flowTaskRuntimeService; private final FlowTaskRuntimeService flowTaskRuntimeService;
private final ITiVehicleFunctionService tiVehicleFunctionService; private final ITiVehicleFunctionService tiVehicleFunctionService;
@ -93,8 +94,8 @@ public class TiProjectServiceImpl extends ServiceImpl<TiProjectMapper, TiProject
} }
@Override @Override
public List<TeQueryProjectOrchestraItemVO> queryExecuteRunParams(String projectId) { public List<TeQueryTaskOrchestraItemVO> queryExecuteRunParams(String projectId) {
return Collections.emptyList(); return taskOrchestrationService.queryByTaskId(projectId);
} }
@Override @Override