electricity_bill_calc_service/config/settings.go

71 lines
1.1 KiB
Go

package config
import (
"time"
)
//服务器配置
type ServerSetting struct {
RunMode string
HttpPort int
ReadTimeout time.Duration
WriteTimeout time.Duration
}
//数据库配置
type DatabaseSetting struct {
User string
Pass string
Host string
Port int
DB string
MaxIdleConns int
MaxOpenConns int
}
type RedisSetting struct {
Host string
Port int
Password string
DB int
}
type ServiceSetting struct {
MaxSessionLife time.Duration
}
//定义全局变量
var (
ServerSettings *ServerSetting
DatabaseSettings *DatabaseSetting
RedisSettings *RedisSetting
ServiceSettings *ServiceSetting
)
//读取配置到全局变量
func SetupSetting() error {
s, err := NewConfigurationFile()
if err != nil {
return err
}
err = s.ReadSection("Database", &DatabaseSettings)
if err != nil {
return err
}
err = s.ReadSection("Server", &ServerSettings)
if err != nil {
return err
}
err = s.ReadSection("Redis", &RedisSettings)
if err != nil {
return err
}
err = s.ReadSection("Service", &ServiceSettings)
if err != nil {
return err
}
return nil
}