37 lines
635 B
Go
37 lines
635 B
Go
package config
|
|
|
|
import (
|
|
"fmt"
|
|
"github.com/spf13/viper"
|
|
)
|
|
|
|
type Config struct {
|
|
Database struct {
|
|
User string
|
|
Password string
|
|
Host string
|
|
Port int
|
|
Dbname string
|
|
Charset string
|
|
}
|
|
Server struct {
|
|
Port int
|
|
}
|
|
}
|
|
|
|
var AppConfig *Config
|
|
|
|
func InitConfig() {
|
|
viper.SetConfigName("config")
|
|
viper.SetConfigType("yaml")
|
|
viper.AddConfigPath(".") // 在当前目录查找 config.yaml
|
|
|
|
if err := viper.ReadInConfig(); err != nil {
|
|
panic(fmt.Errorf("无法读取配置文件: %w", err))
|
|
}
|
|
|
|
if err := viper.Unmarshal(&AppConfig); err != nil {
|
|
panic(fmt.Errorf("无法解析配置结构体: %w", err))
|
|
}
|
|
}
|