| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 | 
							- package config
 
- import (
 
- 	"kpt-tmr-group/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 {
 
- 	AppName        string `yaml:"app_name"`
 
- 	AppEnv         string `yaml:"app_environment"`
 
- 	Debug          bool   `yaml:"debug" env:"APP_DEBUG"`
 
- 	HTTPServerAddr string `yaml:"http_server_addr" env:"HTTP_SERVER_ADDR"`
 
- 	// 数据库配置 额外加载文件部分 database.yaml
 
- 	StoreSetting StoreSetting `json:"storeSetting" yaml:"store"`
 
- 	// redis 配置
 
- 	RedisSetting RedisSetting `json:"RedisSetting" yaml:"redis_setting"`
 
- 	JwtSecret    string       `json:"jwtSecret" yaml:"jwt_secret"`
 
- 	ExcelSetting ExcelSetting `json:"excelSetting" yaml:"excel_setting"`
 
- 	WechatSetting WechatSetting `json:"wechatSetting" yaml:"wechat_setting"`
 
- }
 
- type WechatSetting struct {
 
- 	Appid  string `yaml:"appid"`
 
- 	Secret string `yaml:"secret"`
 
- }
 
- type ExcelSetting struct {
 
- 	SheetName string  `yaml:"sheet_name"` // = "Sheet1" //默认Sheet名称
 
- 	Height    float64 `yaml:"height"`     // = 25.0     //默认行高度
 
- }
 
- // StoreSetting 数据库配置
 
- type StoreSetting struct {
 
- 	// 开启 SyDb SQL 记录
 
- 	DriverName      string `yaml:"driver_name" json:"driver_name"`
 
- 	ShowSQL         bool   `yaml:"show_sql" env:"STORE_SHOW_SQL"`
 
- 	KptEventDSNRW   string `yaml:"kpt_tmr_group_rw" env:"LINGO_COURSE_DSN_RW"`
 
- 	KptEventDSNMigr string `yaml:"kpt_tmr_group_migr" env:"LINGO_COURSE_DSN_MIGR"`
 
- }
 
- type RedisSetting struct {
 
- 	// sso 配置
 
- 	SSOCache SSOCache `json:"SSOCache" yaml:"sso_cache"`
 
- }
 
- type SSOCache struct {
 
- 	Addr        string `json:"addr" yaml:"addr"`
 
- 	Requirepass string `json:"requirepass" yaml:"requirepass"`
 
- 	DB          int    `json:"DB" yaml:"DB"`
 
- 	Expiry      int    `json:"expiry" yaml:"expiry"`
 
- }
 
- func Options() *AppConfig {
 
- 	return options
 
- }
 
- func init() {
 
- 	appEnv = strings.ToLower(os.Getenv("APP_ENVIRONMENT"))
 
- 	cfg := &AppConfig{}
 
- 	var err error
 
- 	initOnce.Do(func() {
 
- 		switch appEnv {
 
- 		default:
 
- 			err = Initialize("app.test.yaml", cfg)
 
- 		case "develop":
 
- 			err = Initialize("app.develop.yaml", cfg)
 
- 		case "production":
 
- 			err = Initialize("app.production.yaml", cfg)
 
- 		}
 
- 		if err != nil {
 
- 			panic(err)
 
- 		}
 
- 		options = cfg
 
- 	})
 
- }
 
 
  |