分支流程
Step 1:如图构建流程
Step 2:流程控制
组件代码
package main
import (
"encoding/json"
"strconv"
"github.com/xuelang-group/suanpan-go-sdk/suanpan/v1/app"
"github.com/xuelang-group/suanpan-go-sdk/suanpan/v1/log"
"github.com/xuelang-group/suanpan-go-sdk/suanpan/v1/stream"
)
func handle(r stream.Request) {
log.Info("receive request data")
outputData := r.InputData(1)
m := make(map[string]interface{})
_ = json.Unmarshal([]byte(outputData), &m)
b, _ := json.Marshal(m["data"])
action := m["action"].(string)
outputData = string(b)
r.Send(map[string]string{
"out" + strconv.Itoa(indexOfActions(action)) : outputData,
})
}
func indexOfActions(action string) int {
arr := []string{"create", "read", "update", "delete"}
for index, a := range arr {
if a == action {
return index + 1
}
}
return -1
}
func main() {
app.Run(handle)
}
输入
{
"action": "create"|"read"|"update"|"delete",
"data": {
"name": "suanpan"
}
}