From 52fbe514996924a48fc01d5bb2e93f097dda8384 Mon Sep 17 00:00:00 2001 From: tickstep Date: Fri, 29 Apr 2022 23:37:18 +0800 Subject: [PATCH] add deleteFile func for javascript plugin --- internal/plugins/js_plugin.go | 12 +++++++++--- internal/plugins/plugin_util.go | 14 ++++++++++++++ internal/plugins/plugin_util_test.go | 10 ++++++++++ 3 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 internal/plugins/plugin_util_test.go diff --git a/internal/plugins/js_plugin.go b/internal/plugins/js_plugin.go index fd247ee..dc88170 100644 --- a/internal/plugins/js_plugin.go +++ b/internal/plugins/js_plugin.go @@ -38,16 +38,22 @@ func (js *JsPlugin) Start() error { // 内置log console := js.vm.NewObject() console.Set("log", jsLog) - js.vm.Set("console", console) + js.vm.Set("console", console) // console.log() // 内置系统函数PluginUtil pluginObj := js.vm.NewObject() js.vm.Set("PluginUtil", pluginObj) + // PluginUtil.Http httpObj := js.vm.NewObject() pluginObj.Set("Http", httpObj) - httpObj.Set("get", HttpGet) - httpObj.Set("post", HttpPost) + httpObj.Set("get", HttpGet) // PluginUtil.Http.get() + httpObj.Set("post", HttpPost) // PluginUtil.Http.post() + + // PluginUtil.LocalFS + localFS := js.vm.NewObject() + pluginObj.Set("LocalFS", localFS) + localFS.Set("deleteFile", DeleteLocalFile) // PluginUtil.LocalFS.deleteFile() return nil } diff --git a/internal/plugins/plugin_util.go b/internal/plugins/plugin_util.go index a6ae7ed..6c41c5e 100644 --- a/internal/plugins/plugin_util.go +++ b/internal/plugins/plugin_util.go @@ -3,6 +3,7 @@ package plugins import ( "github.com/tickstep/library-go/logger" "github.com/tickstep/library-go/requester" + "os" ) // HttpGet Http的get请求 @@ -26,3 +27,16 @@ func HttpPost(header map[string]string, url string, data interface{}) string { } return string(body) } + +// DeleteLocalFile 删除本地文件,不支持文件夹 +func DeleteLocalFile(localFilePath string) bool { + err := os.Remove(localFilePath) + if err != nil { + // 删除失败 + return false + } else { + // 删除成功 + return true + } + return false +} diff --git a/internal/plugins/plugin_util_test.go b/internal/plugins/plugin_util_test.go new file mode 100644 index 0000000..cc176a9 --- /dev/null +++ b/internal/plugins/plugin_util_test.go @@ -0,0 +1,10 @@ +package plugins + +import ( + "fmt" + "testing" +) + +func TestDeleteLocalFile(t *testing.T) { + fmt.Println(DeleteLocalFile("/Volumes/Downloads/dev/upload/2")) +}