package wfclient import ( "fmt" "git.qianqiusoft.com/qianqiusoft/light-apiengine/entitys" ) type CallbackArg struct { DefineId string InstanceId string DefineName string InstanceName string FormData string Choice string Executor string UserId string Context *entitys.CtrlContext } var _callbackMap map[string]func(*CallbackArg) func init(){ _callbackMap = make(map[string]func(*CallbackArg)) } /** * @brief: add callback * @param1: key * @param2: callback */ func AddWFCallback(key string, cb func(*CallbackArg)) { if _, ok := _callbackMap[key]; !ok { _callbackMap[key] = cb } else { fmt.Println("callback", key, "does already exist") } } /** * @brief:调用calblack * @param1 key:key * @param2 arg:参数 */ func callWFCallback(key string, arg *CallbackArg){ if callback, ok := _callbackMap[key]; ok{ callback(arg) } }