This commit is contained in:
2026-06-20 17:28:24 +08:00
parent 8ae0609bed
commit 6fe2cc9480
16 changed files with 254 additions and 153 deletions

View File

@@ -255,28 +255,17 @@ func collectAPIData(ctx context.Context, params dto.DWBG8B4DReq, deps *processor
return apiData
}
// callProcessor 调用指定的处理器
// callProcessor 调用指定的处理器(走注册表,含白名单包装)
func callProcessor(ctx context.Context, apiCode string, params []byte, deps *processors.ProcessorDependencies) (interface{}, error) {
// 通过CombService获取处理器
if combSvc, ok := deps.CombService.(interface {
GetProcessor(apiCode string) (processors.ProcessorFunc, bool)
}); ok {
processor, exists := combSvc.GetProcessor(apiCode)
if !exists {
return nil, fmt.Errorf("未找到处理器: %s", apiCode)
}
respBytes, err := processor(ctx, params, deps)
if err != nil {
return nil, err
}
var data interface{}
if err := json.Unmarshal(respBytes, &data); err != nil {
return nil, fmt.Errorf("解析响应失败: %w", err)
}
return data, nil
respBytes, err := processors.InvokeRegisteredProcessor(ctx, apiCode, params, deps)
if err != nil {
return nil, err
}
return nil, fmt.Errorf("无法获取处理器: %sCombService不支持GetProcessor方法", apiCode)
var data interface{}
if err := json.Unmarshal(respBytes, &data); err != nil {
return nil, fmt.Errorf("解析响应失败: %w", err)
}
return data, nil
}
// exportAPIDataToJSON 将API数据导出为JSON文件方便调试