服务器准备
This commit is contained in:
40
config/welcome.go
Normal file
40
config/welcome.go
Normal file
@@ -0,0 +1,40 @@
|
||||
package config
|
||||
|
||||
import (
|
||||
"context"
|
||||
"sync"
|
||||
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"github.com/gogf/gf/v2/os/glog"
|
||||
)
|
||||
|
||||
var (
|
||||
welcomeCache map[string]string
|
||||
welcomeMu sync.RWMutex
|
||||
welcomeOnce sync.Once
|
||||
)
|
||||
|
||||
// initWelcomeMessages 初始化欢迎话术配置
|
||||
func initWelcomeMessages(ctx context.Context) {
|
||||
welcomeOnce.Do(func() {
|
||||
cfg := g.Cfg()
|
||||
welcomeMap := cfg.MustGet(ctx, "welcomes").MapStrStr()
|
||||
|
||||
welcomeMu.Lock()
|
||||
welcomeCache = welcomeMap
|
||||
welcomeMu.Unlock()
|
||||
|
||||
glog.Infof(ctx, "已加载欢迎话术配置: %d个方向", len(welcomeMap))
|
||||
})
|
||||
}
|
||||
|
||||
// GetWelcomeMessage 根据方向名称获取欢迎话术
|
||||
func GetWelcomeMessage(direction string) string {
|
||||
ctx := context.Background()
|
||||
initWelcomeMessages(ctx)
|
||||
|
||||
welcomeMu.RLock()
|
||||
defer welcomeMu.RUnlock()
|
||||
|
||||
return welcomeCache[direction]
|
||||
}
|
||||
Reference in New Issue
Block a user