gin-login-register/config/config.go
2023-03-01 23:53:06 +08:00

58 lines
932 B
Go

package config
import (
"github.com/spf13/viper"
"log"
)
type MysqlConfig struct {
Host string
Port int
Db string
User string
Password string
Timeout string `default:"10s"`
}
type JwtConfig struct {
Key string
AccessAge int
RefreshAge int
}
type Config struct {
Port string
BaseUrl string
MySql MysqlConfig
Jwt JwtConfig
}
var config *Config
// LoadConfig 加载配置
func LoadConfig(path string) error {
viper.AddConfigPath(path)
viper.SetConfigName("app")
viper.SetConfigType("yaml")
viper.AutomaticEnv()
if err := viper.ReadInConfig(); err != nil {
return err
}
if err := viper.Unmarshal(&config); err != nil {
return err
}
return nil
}
// GetConfig 获取配置
func GetConfig() *Config {
return config
}
// InitConfig 初始化配置
func InitConfig(path string) {
if err := LoadConfig(path); err != nil {
log.Fatal("加载配置失败: ", err)
}
}