待机配置

This commit is contained in:
2024-11-05 18:39:03 +08:00
parent ccfe0d311b
commit 8e2bf7f59b
15 changed files with 384 additions and 132 deletions

View File

@@ -7,6 +7,7 @@ import (
"game-driver/internal/common"
"game-driver/internal/middleware"
"game-driver/internal/routes"
"game-driver/internal/schema"
"game-driver/leaf"
"game-driver/pkg/tts"
"github.com/eclipse/paho.golang/autopaho"
@@ -113,23 +114,28 @@ func Run() {
// 处理启动报文
router.RegisterHandler(topicPrefix+"play",
middleware.PayloadJSON(),
middleware.PayloadJSON[schema.PlayModal](),
middleware.DeviceLock(device),
middleware.EmergencyStop(),
middleware.EmergencyStop(common.GlobalStopper),
middleware.SoundStart(t),
middleware.RelayMaster(nil),
middleware.TimerAction(t, config.C.Game.MaxTimeout),
middleware.TimeoutOver(config.C.Game.MaxTimeout),
middleware.TickerAction(t),
middleware.PlayBgm(),
func(c *leaf.Context) {
log.Println("接收到启动消息: ", string(c.Payload))
select {
case <-c.Done():
log.Println("程序已关闭")
case <-time.After(10 * time.Second):
log.Println("10s 结束")
log.Println("执行结束")
}
},
)
// 处理后台线程报文
router.RegisterHandler(topicPrefix+"bg",
middleware.PayloadJSON[schema.BackgroundModel](),
middleware.EmergencyStop(common.GlobalBgStopper),
routes.BackgroundAction,
)
// 处理指令
router.RegisterHandler(topicPrefix+"command", routes.Command(device))