| 123456789101112131415161718192021222324252627282930 |
- package subconfigs
-
- import (
- "gopkg.in/yaml.v2"
- )
-
- // BaseConfig 基础配置(所有子配置继承)
- type BaseConfig struct{}
-
- // LoadFromYAML 从YAML数据加载
- func (b *BaseConfig) LoadFromYAML(data map[string]interface{}, target interface{}) error {
- // 转换为yaml字节
- yamlBytes, err := yaml.Marshal(data)
- if err != nil {
- return err
- }
-
- // 解析到目标结构体
- return yaml.Unmarshal(yamlBytes, target)
- }
-
- // GetRegisteredConfig 获取注册的配置实例(避免名称冲突)
- func GetRegisteredConfig(name string) ConfigLoader {
- return registry[name]
- }
-
- // GetAllRegisteredConfigs 获取所有注册的配置
- func GetAllRegisteredConfigs() map[string]ConfigLoader {
- return registry
- }
|