From 016d39f5763fa288f56da2d799991d51731727d9 Mon Sep 17 00:00:00 2001 From: "leo.bao" Date: Fri, 3 Dec 2021 16:46:18 +0800 Subject: [PATCH] add: auto open browser --- script/utils.go | 17 +++++++++++++++++ server.go | 16 +++++++++++++++- 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 script/utils.go diff --git a/script/utils.go b/script/utils.go new file mode 100644 index 0000000..b17752a --- /dev/null +++ b/script/utils.go @@ -0,0 +1,17 @@ +package script + +import ( + "net" +) + +func GetIpAddress() string { + addrs, _ := net.InterfaceAddrs() + for _, value := range addrs { + if ipnet, ok := value.(*net.IPNet); ok && !ipnet.IP.IsLoopback() { + if ipnet.IP.To4() != nil { + return ipnet.IP.String() + } + } + } + return "" +} diff --git a/server.go b/server.go index d190e02..b8cb09e 100644 --- a/server.go +++ b/server.go @@ -7,6 +7,7 @@ import ( "io" "net/http" "os" + "os/exec" ) func InitServerFiles() error { @@ -116,7 +117,20 @@ func main() { // 启动服务 var port = ":3001" url := "http://localhost" + port - script.LogSystemInfo("Server start at " + url) + ip := script.GetIpAddress() + startLog := "beancount-gs start at " + url + if ip != "" { + startLog += " or http://" + ip + port + } + script.LogSystemInfo(startLog) + + // cmd /c start + cmd := exec.Command("cmd", "/C", "start", url) + err = cmd.Start() + if err != nil { + script.LogSystemError("Failed to open browser, error is " + err.Error()) + } + err = router.Run(port) if err != nil { script.LogSystemError("Failed to start server, " + err.Error())