feat: 为MES和工作站服务添加启动后自动打开浏览器功能
优化WMS客户端URL处理逻辑,移除尾斜杠避免请求404错误 更新工作站配置默认工位号为1 新增数据库字段支持工位页签配置 删除WMS端未完成的权限树形化和范围验证测试文件 删除物料档案对齐方案文档 新增自动打开浏览器的跨平台实现,服务启动后等待1秒后打开管理后台,提升使用便捷性
This commit is contained in:
@@ -6,6 +6,9 @@ import (
|
||||
"flag"
|
||||
"fmt"
|
||||
"io/fs"
|
||||
"os/exec"
|
||||
"runtime"
|
||||
"time"
|
||||
|
||||
"bj_power_workstation/internal/config"
|
||||
"bj_power_workstation/internal/handler"
|
||||
@@ -25,6 +28,22 @@ var webFS embed.FS
|
||||
|
||||
var configFile = flag.String("f", "etc/bj_power_workstation.yaml", "the config file")
|
||||
|
||||
// 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 {
|
||||
logx.Errorf("自动打开浏览器失败(%s): %v", url, err)
|
||||
}
|
||||
}
|
||||
|
||||
func main() {
|
||||
flag.Parse()
|
||||
|
||||
@@ -85,5 +104,12 @@ func main() {
|
||||
|
||||
fmt.Printf("Starting bj_power_workstation server at %s:%d...\n", c.Host, c.Port)
|
||||
logx.Infof("Starting bj_power_workstation 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