feat: 为MES和工作站服务添加启动后自动打开浏览器功能
优化WMS客户端URL处理逻辑,移除尾斜杠避免请求404错误 更新工作站配置默认工位号为1 新增数据库字段支持工位页签配置 删除WMS端未完成的权限树形化和范围验证测试文件 删除物料档案对齐方案文档 新增自动打开浏览器的跨平台实现,服务启动后等待1秒后打开管理后台,提升使用便捷性
This commit is contained in:
@@ -10,8 +10,11 @@ import (
|
||||
"io/fs"
|
||||
"net/http"
|
||||
"os"
|
||||
"os/exec"
|
||||
"path"
|
||||
"runtime"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"bj_power_mes/common/logx"
|
||||
"bj_power_mes/internal/config"
|
||||
@@ -150,6 +153,22 @@ func newStaticHandler(fsys embed.FS) http.Handler {
|
||||
})
|
||||
}
|
||||
|
||||
// openBrowser 用系统默认浏览器打开 url(Windows/macOS/Linux)
|
||||
func openBrowser(url string) {
|
||||
var cmd *exec.Cmd
|
||||
switch runtime.GOOS {
|
||||
case "windows":
|
||||
cmd = exec.Command("rundll32", "url.dll,FileProtocolHandler", url)
|
||||
case "darwin":
|
||||
cmd = exec.Command("open", url)
|
||||
default:
|
||||
cmd = exec.Command("xdg-open", url)
|
||||
}
|
||||
if err := cmd.Start(); err != nil {
|
||||
gologx.Errorf("自动打开浏览器失败(%s): %v", url, err)
|
||||
}
|
||||
}
|
||||
|
||||
func main() {
|
||||
flag.Parse()
|
||||
|
||||
@@ -221,5 +240,11 @@ func main() {
|
||||
fmt.Printf("Starting bj_power_mes server at %s:%d...\n", c.Host, c.Port)
|
||||
gologx.Infof("Starting bj_power_mes server at %s:%d...", c.Host, c.Port)
|
||||
|
||||
// 启动后自动打开管理后台(等 1 秒让端口就绪;Host=0.0.0.0 时用 127.0.0.1 访问)
|
||||
go func() {
|
||||
time.Sleep(time.Second)
|
||||
openBrowser(fmt.Sprintf("http://127.0.0.1:%d", c.Port))
|
||||
}()
|
||||
|
||||
server.Start()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user