diff --git a/golang_learn/data_func/go_to_tray/demo03/shell/closeCX.bat b/golang_learn/data_func/go_to_tray/demo03/shell/stopCX.bat similarity index 100% rename from golang_learn/data_func/go_to_tray/demo03/shell/closeCX.bat rename to golang_learn/data_func/go_to_tray/demo03/shell/stopCX.bat diff --git a/golang_learn/data_func/go_to_tray/demo03/shell/closeCX.sh b/golang_learn/data_func/go_to_tray/demo03/shell/stopCX.sh similarity index 100% rename from golang_learn/data_func/go_to_tray/demo03/shell/closeCX.sh rename to golang_learn/data_func/go_to_tray/demo03/shell/stopCX.sh diff --git a/golang_learn/data_func/go_to_tray/demo03/shell/closeDB.bat b/golang_learn/data_func/go_to_tray/demo03/shell/stopDB.bat similarity index 100% rename from golang_learn/data_func/go_to_tray/demo03/shell/closeDB.bat rename to golang_learn/data_func/go_to_tray/demo03/shell/stopDB.bat diff --git a/golang_learn/data_func/go_to_tray/demo03/shell/closeDB.sh b/golang_learn/data_func/go_to_tray/demo03/shell/stopDB.sh similarity index 100% rename from golang_learn/data_func/go_to_tray/demo03/shell/closeDB.sh rename to golang_learn/data_func/go_to_tray/demo03/shell/stopDB.sh diff --git a/golang_learn/data_func/go_to_tray/demo04/main.go b/golang_learn/data_func/go_to_tray/demo04/main.go index d6fac27..16868d0 100644 --- a/golang_learn/data_func/go_to_tray/demo04/main.go +++ b/golang_learn/data_func/go_to_tray/demo04/main.go @@ -4,6 +4,7 @@ import ( "github.com/riftbit/go-systray" "io/ioutil" "log" + "os" "os/exec" "runtime" "syscall" @@ -13,6 +14,42 @@ func main() { _ = systray.Run(onReady, onExit) } +func mkFile() { + // 创建文件夹 + err := os.Mkdir("shell", os.ModePerm) + if err == nil { + toFile("./shell/startCX.bat", "net start GWY20_Tomcat") + toFile("./shell/stopCX.bat", "net stop GWY20_Tomcat") + toFile("./shell/startDB.bat", "net start GWY20_Mysql") + toFile("./shell/stopDB.bat", "net stop GWY20_Mysql") + toFile("./shell/startCX.sh", "service qggwy.service start") + toFile("./shell/stopCX.sh", "service qggwy.service stop") + toFile("./shell/startDB.sh", "service qggwy-kingbase.service start") + toFile("./shell/stopDB.sh", "service qggwy-kingbase.service stop") + } +} + +func toFile(fileName, str string) { + sqlObj, err := os.Create(fileName) + if err != nil { + return + } + _, _ = sqlObj.WriteString(str) + _ = sqlObj.Close() +} + +// PathExists 判断文件夹是否存在 +func PathExists(path string) (bool, error) { + _, err := os.Stat(path) + if err == nil { + return true, nil + } + if os.IsNotExist(err) { + return false, nil + } + return false, err +} + func onReady() { timezone := "公务员" _ = systray.SetTitle(timezone) @@ -30,7 +67,7 @@ func onReady() { submenu := systray.AddSubMenu("帮助") upCxMenu := submenu.AddSubMenuItem("升级", "进行下载安装组工软件", 0) - infoMenu := submenu.AddSubMenuItem("关于", "辅助使用公务员系统服务", 0) + infoMenu := submenu.AddSubMenuItem("配置文件", "创建配置文件", 0) systray.AddSeparator() mQuit := systray.AddMenuItem("退出", "退出", 0) @@ -40,25 +77,25 @@ func onReady() { select { case <-startDbMenu.OnClickCh(): _ = OpenServe(true) - return + break case <-stopDbMenu.OnClickCh(): _ = CloseServe(true) - return + break case <-startCxMenu.OnClickCh(): _ = OpenServe(false) - return + break case <-stopCxMenu.OnClickCh(): _ = CloseServe(false) - return + break case <-openMenu.OnClickCh(): _ = OpenUrl("http://localhost:54022/qggwy") - return + break case <-upCxMenu.OnClickCh(): _ = OpenUrl("https://www.12371.cn/zgrjxz/gwywx/") - return + break case <-infoMenu.OnClickCh(): - _ = OpenUrl("https://www.12371.cn/zgrjxz/gwywx/") - return + mkFile() + break case <-mQuit.OnClickCh(): _ = systray.Quit() return @@ -108,18 +145,18 @@ func OpenServe(isDb bool) error { case "windows": if isDb { cmd = "cmd" - args = []string{"/c", "./shell/startDB.bat"} + args = []string{"/c", "cd", "shell", "&&", "startDB.bat"} } else { cmd = "/bin/sh" - args = []string{"-c", "./shell/startDB.sh"} + args = []string{"-c", "cd", "shell", "&&", "startDB.sh"} } default: // "linux", "freebsd", "openbsd", "netbsd", "mac" if isDb { cmd = "cmd" - args = []string{"/c", "./shell/startCX.bat"} + args = []string{"/c", "cd", "shell", "&&", "startCX.bat"} } else { cmd = "/bin/sh" - args = []string{"-c", "./shell/startCX.sh"} + args = []string{"-c", "cd", "shell", "&&", "startCX.sh"} } } c := exec.Command(cmd, args...) @@ -136,18 +173,18 @@ func CloseServe(isDb bool) error { case "windows": if isDb { cmd = "cmd" - args = []string{"/c", "./shell/stopDB.bat"} + args = []string{"/c", "cd", "shell", "&&", "stopDB.bat"} } else { cmd = "/bin/sh" - args = []string{"-c", "./shell/stopDB.sh"} + args = []string{"-c", "cd", "shell", "&&", "stopDB.sh"} } default: // "linux", "freebsd", "openbsd", "netbsd", "mac" if isDb { cmd = "cmd" - args = []string{"/c", "./shell/stopCX.bat"} + args = []string{"/c", "cd", "shell", "&&", "stopCX.bat"} } else { cmd = "/bin/sh" - args = []string{"-c", "./shell/stopCX.sh"} + args = []string{"-c", "cd", "shell", "&&", "stopCX.sh"} } } c := exec.Command(cmd, args...) diff --git a/golang_learn/data_func/go_to_tray/demo04/shell/closeCX.bat b/golang_learn/data_func/go_to_tray/demo04/shell/stopCX.bat similarity index 100% rename from golang_learn/data_func/go_to_tray/demo04/shell/closeCX.bat rename to golang_learn/data_func/go_to_tray/demo04/shell/stopCX.bat diff --git a/golang_learn/data_func/go_to_tray/demo04/shell/closeCX.sh b/golang_learn/data_func/go_to_tray/demo04/shell/stopCX.sh similarity index 100% rename from golang_learn/data_func/go_to_tray/demo04/shell/closeCX.sh rename to golang_learn/data_func/go_to_tray/demo04/shell/stopCX.sh diff --git a/golang_learn/data_func/go_to_tray/demo04/shell/closeDB.bat b/golang_learn/data_func/go_to_tray/demo04/shell/stopDB.bat similarity index 100% rename from golang_learn/data_func/go_to_tray/demo04/shell/closeDB.bat rename to golang_learn/data_func/go_to_tray/demo04/shell/stopDB.bat diff --git a/golang_learn/data_func/go_to_tray/demo04/shell/closeDB.sh b/golang_learn/data_func/go_to_tray/demo04/shell/stopDB.sh similarity index 100% rename from golang_learn/data_func/go_to_tray/demo04/shell/closeDB.sh rename to golang_learn/data_func/go_to_tray/demo04/shell/stopDB.sh