优化全局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

@@ -10,12 +10,17 @@ import (
"sync"
)
// PlayBgm 播放背景音乐
func PlayBgm() leaf.HandlerFunc {
return func(c *leaf.Context) {
pm := leaf.Value[*schema.PlayModal](c, PayloadJSONKey)
bgm := utils.LinkAudio(pm.BGM)
bgm, err := utils.LinkAudio(pm.BGM)
if err != nil {
logger.Errorln("背景音乐解析异常", err)
}
if bgm != nil {
logger.Infoln("背景音乐解析成功")
// 等待组
var wait sync.WaitGroup
defer wait.Wait()
@@ -25,15 +30,18 @@ func PlayBgm() leaf.HandlerFunc {
// 发送结束信号
defer close(a)
wait.Add(1)
go func() {
// 等待结束
wait.Add(1)
defer wait.Done()
ctrl, closer := audio.PlayBgmMP3(bgm)
logger.Infoln("开始播放背景音乐")
defer logger.Infoln("结束背景音乐播放")
ctrl, closer, e := audio.PlayBgmMP3(bgm)
defer closer()
if ctrl == nil {
logger.Infoln("播放背景音乐失败")
if e != nil {
logger.Errorln("播放背景音乐失败", e)
return
}
@@ -47,6 +55,8 @@ func PlayBgm() leaf.HandlerFunc {
}
}
}()
} else {
logger.Errorln("背景音乐解析为空")
}
c.Next()