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() { // 从默认配置文件(config.yml)读取 welcomes 配置 welcomeMap := g.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] }