This commit is contained in:
oneao committed 2025-08-15 17:27:23 +08:00
1 parent 428d370874
commit b408533fe7
15 files changed
+710 -97

No files matched your search

@@ -1,48 +1,56 @@
package config
import (
"base-framework/pkg/types"
"github.com/spf13/viper"
"time"
)
// server 服务器配置结构体(包内私有)
type server struct {
Port int
}
// jwt 配置结构体(包内私有)
type jwt struct {
Secret string
Expiry time.Duration
}
// 全局导出变量,指向私有结构体实例
// 全局导出变量,指向 types 包中的配置实例
var (
Server *server
JWT *jwt
Server *types.Server
JWT *types.Jwt
Log *types.Log
Snowflake *types.Snowflake
)
// InitApplicationConfig 初始化配置,传入配置文件路径
func InitApplicationConfig(configPath string) (error, error) {
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, nil
return err, err2
}
var s server
if err := v.UnmarshalKey("server", &s); err != nil {
return err, nil
// server 配置
var server types.Server
if err := v.UnmarshalKey("server", &server); err != nil {
return err, err2
}
Server = &s
var j jwt
if err := v.UnmarshalKey("jwt", &j); err != nil {
return err, nil
// jwt 配置
var jwt types.Jwt
if err := v.UnmarshalKey("jwt", &jwt); err != nil {
return err, err2
}
JWT = &j
return nil, nil
// 初始化日志模块
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
}