diff --git a/internal/routes/play/only_video.go b/internal/routes/play/only_video.go index e1bc6f5..9adad93 100644 --- a/internal/routes/play/only_video.go +++ b/internal/routes/play/only_video.go @@ -11,6 +11,9 @@ import ( func OnlyVideo(c *leaf.Context) { payload := leaf.Value[*schema.PlayModal](c, middleware.PayloadJSONKey) + utils.BlankOpen() + defer utils.BlankClose() + if url, ok := payload.Game["video"]; ok { _ = video.Play(c, utils.LinkVideo(url.(string))) } diff --git a/internal/routes/wait.go b/internal/routes/wait.go index 1d260ff..704cf58 100644 --- a/internal/routes/wait.go +++ b/internal/routes/wait.go @@ -201,6 +201,9 @@ func videoAction(c *leaf.Context, item schema.WaitItemModel, root schema.TimeMod case <-c.Done(): case <-timerAction(item.Start): { + utils.BlankOpen() + defer utils.BlankClose() + for { err := video.Play(c, utils.LinkVideo(item.Data)) if err != nil { diff --git a/internal/server.go b/internal/server.go index fa13752..b7bb44c 100644 --- a/internal/server.go +++ b/internal/server.go @@ -10,6 +10,7 @@ import ( "game-driver/internal/schema" "game-driver/leaf" "game-driver/pkg/tts" + "game-driver/pkg/utils" "github.com/eclipse/paho.golang/autopaho" "github.com/eclipse/paho.golang/paho" "log" @@ -37,18 +38,18 @@ func buildMqtt(c config.MqttConfig, r *leaf.Engine, subTopics ...string) autopah KeepAlive: 20, CleanStartOnInitialConnection: false, SessionExpiryInterval: 60, - OnConnectionUp: func(cm *autopaho.ConnectionManager, connAck *paho.Connack) { - log.Println("mqtt connection up") + OnConnectionUp: func(cm *autopaho.ConnectionManager, _ *paho.Connack) { + log.Println("MQTT 连接成功") if _, err := cm.Subscribe(context.Background(), &paho.Subscribe{ Subscriptions: subscriptions, }); err != nil { log.Printf("failed to subscribe (%s). This is likely to mean no messages will be received.", err) return } - log.Println("mqtt subscription made") + log.Println("订阅完成") }, OnConnectError: func(err error) { - log.Printf("error whilst attempting connection: %s\n", err) + log.Printf("MQTT 连接异常: %s\n", err) }, ClientConfig: paho.ClientConfig{ ClientID: "TestSubscriber", @@ -139,6 +140,8 @@ func Run() { // 启动完成发送一次设备状态 device.PublishStatus() + // 启动完成关闭屏幕 + utils.BlankClose() sig := make(chan os.Signal, 1) signal.Notify(sig, os.Interrupt, syscall.SIGTERM) diff --git a/pkg/utils/blank.go b/pkg/utils/blank.go new file mode 100644 index 0000000..5853190 --- /dev/null +++ b/pkg/utils/blank.go @@ -0,0 +1,13 @@ +package utils + +import "os" + +// BlankOpen 打开屏幕 +func BlankOpen() { + os.WriteFile("/sys/class/graphics/fb0/blank", []byte("0"), 0644) +} + +// BlankClose 关闭屏幕 +func BlankClose() { + os.WriteFile("/sys/class/graphics/fb0/blank", []byte("1"), 0644) +}