1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- package config
- import (
- "fmt"
- "github.com/beego/beego/v2/core/logs"
- "github.com/beego/beego/v2/server/web"
- "github.com/siddontang/go/log"
- )
- const (
- SPLIT = "."
- )
- type Config interface {
- InitConfig()
- }
- type BaseConfig struct {
- prefix string
- }
- func (b *BaseConfig) GetString(key string) string {
- value, err := web.AppConfig.String(fmt.Sprintf("%s%s%s", b.prefix, SPLIT, key))
- if err != nil {
- return ""
- }
- return value
- }
- func (b *BaseConfig) GetInt(key string) int {
- value, err := web.AppConfig.Int(fmt.Sprintf("%s%s%s", b.prefix, SPLIT, key))
- if err != nil {
- return 0
- }
- return value
- }
- type Instance func() Config
- var configs = make(map[string]Instance)
- func GetConfig(name string) (config Config) {
- instanceFunc, ok := configs[name]
- if !ok {
- logs.Error("配置信息不存在", name)
- return nil
- }
- config = instanceFunc()
- config.InitConfig()
- return config
- }
- func Register(name string, adapter Instance) {
- if adapter == nil {
- panic("缓存类型不存在")
- }
- if _, ok := configs[name]; ok {
- panic("当前缓存类型已注册:" + name)
- }
- configs[name] = adapter
- }
- func init() {
- tmpRunMode, err := web.AppConfig.String("run_mode")
- if err != nil {
- panic(any("配置文件读取run_mode错误 " + err.Error()))
- }
- fmt.Println("RunMode:", tmpRunMode)
- if tmpRunMode == "" {
- configPath := "/home/code/config/eta_mini_ht_api/conf/app.conf"
- err = web.LoadAppConfig("ini", configPath)
- if err != nil {
- log.Fatalf("web.LoadAppConfig Err:%v", err)
- }
- }
- }
|