electricity_bill_calc_service/config/settings.go

73 lines
1.2 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
ItemsPageSize int
CacheLifeTime 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
}