This commit is contained in:
2025-11-26 16:10:17 +08:00
parent f0e85c5a18
commit c10bd369c0
83 changed files with 1755 additions and 541 deletions

View File

@@ -121,6 +121,7 @@ public class WebSocketServerCallbackManager {
return method.invoke(service);
}
// 第一个参数不是数组时
if (!argumentsNode.get(0).isArray()) {
Class<?> parameterType = Class.forName(argumentsNode.get(1).asText());
Object arg = objectMapper.treeToValue(argumentsNode.get(0), parameterType);

View File

@@ -13,12 +13,23 @@ import com.fasterxml.jackson.databind.JsonNode;
* 定义了所有通过WebSocket与客户端通信的任务的通用方法
* 包括任务名称、初始化参数、设置会话、更新消息、更新标题、更新进度等操作
* <p>
* 所有通过WebSocket与客户端通信的任务类都应实现此接口, 文档参考 .trace/rules/server_task_rules.md
* tips检查是否在 tasker_mapper.json 中注册
* 所有通过WebSocket与客户端通信的任务类都应实现此接口, 通常应继承Tasker类并实现此接口
* <p>
* <b>实现注意事项:</b>
* 1. 服务器端任务实现应继承Tasker基类该基类已提供大部分通信功能的实现
* 2. 不要在子类中重复实现setMessageHandler、setTitleHandler、setPropertyHandler和setProgressHandler方法这些由Tasker基类提供
* 3. 任务类应覆盖init方法以初始化参数和设置任务标题
* 4. 任务类应覆盖execute方法实现具体业务逻辑使用MessageHolder进行消息消息反馈
* 5. 任务执行时使用updateProgress方法进行进度反馈
* 6. 任务名称应与客户端对应的Tasker类名保持一致以确保正确的通信映射
* <p>
* <b>注册要求:</b>
* 任务类必须在tasker_mapper.json中注册以确保WebSocketServerTaskManager能够正确识别和实例化
*/
public interface WebSocketServerTasker extends Callable<Object> {
/**
* 初始化任务参数
* 任务类应在init方法中解析argsNode, 初始化任务参数
*
* @param argsNode 任务参数的JSON节点
*/