Skip to content

Commit 39fcef1

Browse files
committed
改进输出
1 parent 403ffe3 commit 39fcef1

2 files changed

Lines changed: 48 additions & 22 deletions

File tree

main.go

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -437,7 +437,7 @@ func main() {
437437

438438
var configPath *string = parser.String("c", "config", &argparse.Options{
439439
Required: false,
440-
Help: "配置文件路径",
440+
Help: "指定配置文件路径,如果不存在则会使用默认模板创建",
441441
})
442442

443443
var create_js_info *bool = parser.Flag("", "create-js-info", &argparse.Options{
@@ -464,9 +464,9 @@ func main() {
464464
Help: "是否从UDP接收远程事件",
465465
})
466466

467-
var udp_port *int = parser.Int("p", "port", &argparse.Options{
467+
var port *int = parser.Int("p", "port", &argparse.Options{
468468
Required: false,
469-
Help: "指定监听远程事件的UDP端口号",
469+
Help: "指定监听远程事件的UDP端口号与控制后台端口",
470470
Default: 61069,
471471
})
472472

@@ -504,29 +504,27 @@ func main() {
504504
logger.Debug("debug on")
505505
}
506506

507-
if *configPath == "" || !fileExists(*configPath) {
508-
logger.Warn("未指定配置文件或者文件不存在,使用默认配置文件")
507+
if *configPath == "" {
508+
logger.Warn("未指定配置文件,使用默认配置文件")
509509
exePath, err := os.Executable()
510510
if err != nil {
511511
fmt.Println("获取可执行文件路径失败:", err)
512512
return
513513
}
514514
exeDir := filepath.Dir(exePath)
515515
*configPath = filepath.Join(exeDir, "default.json")
516-
if !fileExists(*configPath) {
517-
//默认文件也不存在
518-
bytes, err := configs.ReadFile("configs/EXAMPLE.JSON")
519-
if err != nil {
520-
logger.Infof("读取内置配置文件configs/EXAMPLE.JSON错误:%v", err)
521-
return
522-
} else {
523-
// logger.Infof("使用内置配置文件configs/EXAMPLE.JSON:%v", bytes)
524-
os.WriteFile(*configPath, bytes, 0644)
525-
}
516+
}
517+
if !fileExists(*configPath) {
518+
bytes, err := configs.ReadFile("configs/EXAMPLE.JSON")
519+
if err != nil {
520+
logger.Infof("读取内置配置文件configs/EXAMPLE.JSON错误:%v", err)
521+
return
522+
} else {
523+
logger.Infof("已从模板创建配置文件:%v", *configPath)
524+
os.WriteFile(*configPath, bytes, 0644)
526525
}
527-
} else {
528-
529526
}
527+
530528
logger.Infof("使用配置文件: %v", *configPath)
531529

532530
if *create_js_info {
@@ -630,14 +628,14 @@ func main() {
630628
}
631629

632630
if *using_remote_control {
633-
go udp_event_injector(events_ch, *udp_port)
631+
go udp_event_injector(events_ch, *port)
634632
}
635633

636634
if *measure_sensitivity_mode {
637635
go stdin_control_view_move(touchHandler)
638636
}
639637

640-
go serve(*configPath, touchHandler.reloadConfigure) //启动服务器
638+
go serve(*port, *configPath, touchHandler.reloadConfigure) //启动服务器
641639

642640
exitChan := make(chan os.Signal)
643641
signal.Notify(exitChan, os.Interrupt, os.Kill, syscall.SIGTERM)

server_ctrl.go

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@ package main
33
import (
44
"embed"
55
"encoding/json"
6+
"fmt"
67
"io"
78
"io/fs"
9+
"net"
810
"net/http"
911
"os"
1012
"os/exec"
@@ -24,7 +26,7 @@ func screenHandler(w http.ResponseWriter, r *http.Request) {
2426
w.Header().Set("Content-Type", "image/png")
2527
}
2628

27-
func serve(mapperFilePath string, reloadConfigureFunc func(mapperFilePath string)) {
29+
func serve(port int, mapperFilePath string, reloadConfigureFunc func(mapperFilePath string)) {
2830
var configMutex sync.RWMutex
2931
webFS, err := fs.Sub(staticFS, "go-touch-mapper-gh-pages/build")
3032
if err != nil {
@@ -96,6 +98,32 @@ func serve(mapperFilePath string, reloadConfigureFunc func(mapperFilePath string
9698
logger.Info("配置文件已更新并重新加载")
9799
})
98100

99-
logger.Info("listen :61070 ...")
100-
logger.Fatal(http.ListenAndServe(":61070", nil))
101+
interfaces, err := net.Interfaces()
102+
if err != nil {
103+
panic(err)
104+
}
105+
logger.Info("可从以下网址访问控制后台:")
106+
for _, iface := range interfaces {
107+
if iface.Flags&net.FlagUp == 0 {
108+
continue
109+
}
110+
addrs, err := iface.Addrs()
111+
if err != nil {
112+
continue
113+
}
114+
for _, addr := range addrs {
115+
ipNet, ok := addr.(*net.IPNet)
116+
if !ok {
117+
continue
118+
}
119+
ipv4 := ipNet.IP.To4()
120+
if ipv4 == nil {
121+
continue // 跳过非 IPv4 地址
122+
}
123+
if !ipv4.IsLoopback() {
124+
logger.Infof("http://%s:%v", ipv4, port+1)
125+
}
126+
}
127+
}
128+
logger.Fatal(http.ListenAndServe(fmt.Sprintf(":%v", port+1), nil))
101129
}

0 commit comments

Comments
 (0)