pkg/config/base.go

38 lines
688 B
Go

package config
import (
"time"
_ "time/tzdata" // tzdata
"github.com/samber/lo"
)
const (
// DevEnv ...
DevEnv = "dev"
// ProdEnv ...
ProdEnv = "prod"
// LocalEnv 本地开发, 和前端区别
LocalEnv = "local"
)
// BaseConf ...
type BaseConf struct {
TimeZone string `yaml:"time_zone"`
LanguageCode string `yaml:"language_code"`
RunEnv string `yaml:"run_env"`
Location *time.Location `yaml:"-"`
}
// NewBaseConf with default value
func NewBaseConf() *BaseConf {
c := &BaseConf{
TimeZone: "Asia/Shanghai",
LanguageCode: "en-us",
RunEnv: DevEnv,
}
c.Location = lo.Must(time.LoadLocation(c.TimeZone))
return c
}