diff --git a/internal/plugins/js_plugin.go b/internal/plugins/js_plugin.go index 7b3d483..c7111c6 100644 --- a/internal/plugins/js_plugin.go +++ b/internal/plugins/js_plugin.go @@ -59,9 +59,20 @@ func (js *JsPlugin) LoadScript(script string) error { return nil } +func (js *JsPlugin) isHandlerFuncExisted(fnName string) bool { + ret := js.vm.Get(fnName) + if ret != nil { + return true + } + return false +} + // UploadFilePrepareCallback 上传文件前的回调函数 func (js *JsPlugin) UploadFilePrepareCallback(context *Context, params *UploadFilePrepareParams) (*UploadFilePrepareResult, error) { var fn func(*Context, *UploadFilePrepareParams) (*UploadFilePrepareResult, error) + if !js.isHandlerFuncExisted("uploadFilePrepareCallback") { + return nil, nil + } err := js.vm.ExportTo(js.vm.Get("uploadFilePrepareCallback"), &fn) if err != nil { logger.Verboseln("Js函数映射到 Go 函数失败!")