Files
workspace/code/base-project/base-go/pkg/config/application.go
T
2025-08-25 17:22:54 +08:00

57 lines
1.1 KiB
Go

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
}