diff --git a/backend/services/rpc/base.go b/backend/services/rpc/base.go index 4b2b8653..ea4c7a62 100644 --- a/backend/services/rpc/base.go +++ b/backend/services/rpc/base.go @@ -7,6 +7,7 @@ import ( "crawlab/model" "crawlab/utils" "encoding/json" + "errors" "fmt" "github.com/apex/log" "github.com/gomodule/redigo/redis" @@ -49,6 +50,11 @@ func ClientFunc(msg entity.RpcMessage) func() (entity.RpcMessage, error) { return replyMsg, err } + // 如果返回消息有错误,返回错误 + if replyMsg.Error != "" { + return replyMsg, errors.New(replyMsg.Error) + } + return } } diff --git a/backend/services/rpc/install_dep.go b/backend/services/rpc/install_dep.go index cb4ecf82..e615688a 100644 --- a/backend/services/rpc/install_dep.go +++ b/backend/services/rpc/install_dep.go @@ -19,7 +19,8 @@ func (s *InstallDepService) ServerHandle() (entity.RpcMessage, error) { lang := utils.GetRpcParam("lang", s.msg.Params) depName := utils.GetRpcParam("dep_name", s.msg.Params) if err := InstallDepLocal(lang, depName); err != nil { - return entity.RpcMessage{}, err + s.msg.Error = err.Error() + return s.msg, err } s.msg.Result = "success" return s.msg, nil diff --git a/backend/services/rpc/uninstall_dep.go b/backend/services/rpc/uninstall_dep.go index 7a2b6eab..1b8b8ecb 100644 --- a/backend/services/rpc/uninstall_dep.go +++ b/backend/services/rpc/uninstall_dep.go @@ -19,7 +19,8 @@ func (s *UninstallDepService) ServerHandle() (entity.RpcMessage, error) { lang := utils.GetRpcParam("lang", s.msg.Params) depName := utils.GetRpcParam("dep_name", s.msg.Params) if err := UninstallDepLocal(lang, depName); err != nil { - return entity.RpcMessage{}, err + s.msg.Error = err.Error() + return s.msg, err } s.msg.Result = "success" return s.msg, nil diff --git a/frontend/src/components/Node/NodeInstallation.vue b/frontend/src/components/Node/NodeInstallation.vue index 46653256..d5813baa 100644 --- a/frontend/src/components/Node/NodeInstallation.vue +++ b/frontend/src/components/Node/NodeInstallation.vue @@ -39,7 +39,7 @@