package middleware import ( "game-driver/internal/schema" "game-driver/leaf" "game-driver/pkg/logger" "game-driver/pkg/relay" ) // RelayMaster 继电器中间件 func RelayMaster(r *relay.Device) leaf.HandlerFunc { return func(c *leaf.Context) { pm := leaf.Value[*schema.PlayModal](c, PayloadJSONKey) if r != nil && pm.Power { r.On(1) defer r.Off(1) logger.Infoln("开启电源") defer logger.Infoln("关闭电源") } else { logger.Infoln("继电器未开启/不需要电源控制") } c.Next() } }