package processors import ( "context" "fmt" ) // ProcessorRegistry 已注册处理器查询(由 CombService 实现) type ProcessorRegistry interface { GetProcessor(apiCode string) (ProcessorFunc, bool) } // InvokeRegisteredProcessor 通过注册表调用处理器(含白名单包装),聚合处理器内部转接应使用此方法。 func InvokeRegisteredProcessor( ctx context.Context, apiCode string, params []byte, deps *ProcessorDependencies, ) ([]byte, error) { if deps == nil || deps.CombService == nil { return nil, fmt.Errorf("CombService 未配置,无法调用处理器: %s", apiCode) } registry, ok := deps.CombService.(ProcessorRegistry) if !ok { return nil, fmt.Errorf("CombService 不支持 GetProcessor,无法调用处理器: %s", apiCode) } processor, exists := registry.GetProcessor(apiCode) if !exists { return nil, fmt.Errorf("未找到处理器: %s", apiCode) } return processor(ctx, params, deps) }