package config import ( "base-framework/pkg/types" "github.com/spf13/viper" ) // 全局导出变量,指向 types 包中的配置实例 var ( Server *types.Server JWT *types.Jwt Log *types.Log Snowflake *types.Snowflake ) // InitApplicationConfig 初始化配置,传入配置文件路径 func InitApplicationConfig(configPath string) (err error, err2 error) { v := viper.New() v.SetConfigFile(configPath) v.SetConfigType("yaml") if err := v.ReadInConfig(); err != nil { return err, err2 } // server 配置 var server types.Server if err := v.UnmarshalKey("server", &server); err != nil { return err, err2 } // jwt 配置 var jwt types.Jwt if err := v.UnmarshalKey("jwt", &jwt); err != nil { return err, err2 } // 初始化日志模块 var log types.Log if err := v.UnmarshalKey("log", &log); err != nil { return err, err2 } // 初始化日志模块 var snowflake types.Snowflake if err := v.UnmarshalKey("snowflake", &snowflake); err != nil { return err, err2 } Server = &server JWT = &jwt Log = &log Snowflake = &snowflake return nil, err2 }