diff --git a/internal/biz/do/handle.go b/internal/biz/do/handle.go index 14695e6..ebebf83 100644 --- a/internal/biz/do/handle.go +++ b/internal/biz/do/handle.go @@ -17,8 +17,9 @@ import ( "context" "encoding/json" "fmt" - "gorm.io/gorm/utils" "strings" + + "gorm.io/gorm/utils" ) type Handle struct { @@ -237,9 +238,19 @@ func (r *Handle) handleApiTask(ctx context.Context, requireData *entitys.Require if err != nil { return } - request.Url = strings.ReplaceAll(task.Config, "${authorization}", requireData.Auth) + // request.Url = strings.ReplaceAll(task.Config, "${authorization}", requireData.Auth) + task.Config = strings.ReplaceAll(task.Config, "${authorization}", requireData.Auth) for k, v := range requestParam { - task.Config = strings.ReplaceAll(task.Config, "${"+k+"}", fmt.Sprintf("%v", v)) + if vStr, ok := v.(string); ok { + task.Config = strings.ReplaceAll(task.Config, "${"+k+"}", vStr) + } else { + var jsonStr []byte + jsonStr, err = json.Marshal(v) + if err != nil { + return errors.NewBusinessErr(422, "请求参数解析失败") + } + task.Config = strings.ReplaceAll(task.Config, "\"${"+k+"}\"", string(jsonStr)) + } } var configData entitys.ConfigDataHttp err = json.Unmarshal([]byte(task.Config), &configData)