12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- package config
- import (
- "gitee.com/xuyiping_admin/pkg/di"
- "os"
- "strings"
- "sync"
- )
- var (
- Module = di.Provide(Options)
- options *AppConfig
- appEnv string
- initOnce sync.Once
- )
- // AppConfig store all configuration options
- type AppConfig struct {
- Broker string `yaml:"broker"`
- Port int64 `yaml:"port"`
- UserName string `yaml:"user_name"`
- Password string `yaml:"password"`
- SubTopName string `yaml:"sub_top_name"`
- WorkNumber int64 `yaml:"work_number"`
- // 数据库配置 额外加载文件部分 database.yaml
- StoreSetting StoreSetting `json:"storeSetting" yaml:"store"`
- }
- // StoreSetting 数据库配置
- type StoreSetting struct {
- // 开启 SyDb SQL 记录
- DriverName string `yaml:"driver_name" json:"driver_name"`
- ShowSQL bool `yaml:"show_sql" json:"show_sql"`
- KptRW string `yaml:"kpt_rw" json:"kpt_rw"`
- KptMigr string `yaml:"kpt_migr" json:"kpt_migr"`
- }
- func Options() *AppConfig {
- return options
- }
- func init() {
- appEnv = strings.ToLower(os.Getenv("APP_ENVIRONMENT"))
- cfg := &AppConfig{}
- var err error
- initOnce.Do(func() {
- switch appEnv {
- case "test":
- err = Initialize("app.test.yaml", cfg)
- case "production":
- err = Initialize("app.production.yaml", cfg)
- default:
- err = Initialize("app.develop.yaml", cfg)
- }
- if err != nil {
- panic(err)
- }
- options = cfg
- })
- }
|