Files
workspace/code/go-project/base-farmework/pkg/config/application.go
T
2025-08-13 14:51:19 +08:00

49 lines
822 B
Go

package config
import (
"github.com/spf13/viper"
"time"
)
// server 服务器配置结构体(包内私有)
type server struct {
Port int
}
// jwt 配置结构体(包内私有)
type jwt struct {
Secret string
Expiry time.Duration
}
// 全局导出变量,指向私有结构体实例
var (
Server *server
JWT *jwt
)
// InitApplicationConfig 初始化配置,传入配置文件路径
func InitApplicationConfig(configPath string) (error, error) {
v := viper.New()
v.SetConfigFile(configPath)
v.SetConfigType("yaml")
if err := v.ReadInConfig(); err != nil {
return err, nil
}
var s server
if err := v.UnmarshalKey("server", &s); err != nil {
return err, nil
}
Server = &s
var j jwt
if err := v.UnmarshalKey("jwt", &j); err != nil {
return err, nil
}
JWT = &j
return nil, nil
}