优化全局zap的打印,修复待机任务出现多个的情况

This commit is contained in:
2024-11-12 14:47:20 +08:00
parent 355880c3f9
commit cc12b60437
20 changed files with 181 additions and 84 deletions

View File

@@ -98,17 +98,23 @@ func audioAction(c *leaf.Context, item schema.WaitItemModel, root schema.TimeMod
defer cancel()
}
data, err := utils.LinkAudio(item.Data)
if err != nil {
logger.Errorln("音频文件获取异常: ", err)
return
}
select {
case <-c.Done():
case <-timerAction(item.Start):
{
logger.Infoln("开始执行后台任务")
data := utils.LinkAudio(item.Data)
logger.Infoln("播放待机音乐")
defer logger.Infoln("结束待机音乐")
ctrl, closer := audio.PlayBgmMP3(data)
ctrl, closer, e := audio.PlayBgmMP3(data)
defer closer()
if ctrl == nil {
logger.Infoln("播放背景音乐失败")
if e != nil {
logger.Errorln("播放待机音乐异常", e)
return
}
@@ -137,7 +143,7 @@ func ttsAction(c *leaf.Context, item schema.WaitItemModel, root schema.TimeModel
reader, err := tts.DefaultTTS.Get(item.Data)
if err != nil {
logger.Infoln("语音合成异常: ", err)
logger.Errorln("语音合成异常: ", err)
return
}
@@ -145,6 +151,9 @@ func ttsAction(c *leaf.Context, item schema.WaitItemModel, root schema.TimeModel
case <-c.Done():
case <-timerAction(item.Start):
{
logger.Infoln("循环播放待机 TTS 语音")
defer logger.Infoln("结束待机 TTS 语音")
for {
audio.PlayWav(c, reader)
select {
@@ -170,7 +179,7 @@ func relayAction(c *leaf.Context, item schema.WaitItemModel, root schema.TimeMod
device, err := relay.New(item.Data, nil)
if err != nil {
logger.Infoln("继电器初始化异常: ", err)
logger.Errorln("继电器初始化异常: ", err)
return
}
defer device.Close()
@@ -179,6 +188,9 @@ func relayAction(c *leaf.Context, item schema.WaitItemModel, root schema.TimeMod
case <-c.Done():
case <-timerAction(item.Start):
{
logger.Infoln("待机继电器供电")
defer logger.Infoln("待机继电器断电")
device.On(1)
<-c.Done()
device.Off(1)
@@ -197,17 +209,27 @@ func videoAction(c *leaf.Context, item schema.WaitItemModel, root schema.TimeMod
defer cancel()
}
local, err := utils.LinkVideo(item.Data)
if err != nil {
logger.Errorln("视频文件获取异常: ", err)
return
}
select {
case <-c.Done():
case <-timerAction(item.Start):
{
logger.Infoln("循环播放待机视频")
defer logger.Infoln("结束待机视频")
utils.BlankOpen()
defer utils.BlankClose()
for {
err := video.Play(c, utils.LinkVideo(item.Data))
err := video.Play(c, local)
if err != nil {
logger.Panicln("视频播放异常: ", err)
logger.Errorln("视频播放异常: ", err)
return
}
select {
case <-c.Done():