38 lines
688 B
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
|
|
}
|