1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- package configs
- import (
- "io/ioutil"
- "os"
- "pbx-api-gin/pkg/lfshook"
- log "github.com/sirupsen/logrus"
- "gopkg.in/yaml.v2"
- )
- // Config https://godoc.org/gopkg.in/yaml.v2
- // Config 存储配置
- type Config struct {
- IdentityKey string `yaml:"identityKey"`
- AsteriskAMIHost string `yaml:"asteriskAMIHost"` // Host
- AsteriskAMIPort string `yaml:"asteriskAMIPort"` // Port
- AsteriskAMIUser string `yaml:"asteriskAMIUser"` // User
- AsteriskAMISecret string `yaml:"asteriskAMISecret"` // Secret
- AsteriskAGIPort string `yaml:"asteriskAGIPort"` // AGIPort
- //AsteriskTriggerPath string `yaml:"asteriskTriggerPath"` // 广播触发规则
- //AsteriskPagingPath string `yaml:"asteriskPagingPath"` // 广播规则
- //AsteriskBroadcastTimeout int64 `yaml:"asteriskBroadcastTimeout"` // 广播响铃时长
- //AsteriskBroadcastName string `yaml:"asteriskBroadcastName"` // 广播时名称
- //AsteriskBroadcastID string `yaml:"asteriskBroadcastID"` // 广播时ID
- MysqlDBHost string `yaml:"mysqlDBHost"` // Host
- MysqlDBUser string `yaml:"mysqlDBUser"` // User
- MysqlDBSecret string `yaml:"mysqlDBSecret"` // Secret
- MysqlDBName string `yaml:"mysqlDBName"` // Name
- //RedisDBHost string `yaml:"redisDBHost"` // Host
- //RedisDBPort string `yaml:"redisDBPort"` // User
- //RedisDBSecret string `yaml:"redisDBSecret"` // Secret
- LogInfoPath string `yaml:"logInfoPath"` //logInfoPath
- LogErrorPath string `yaml:"logErrorPath"` //logErrorPath
- //StoragePath string `yaml:"storagePath"` // 存储目录
- //AllEventPushUrl string `yaml:"allEventPushUrl"`
- //WebHost string `yaml:"webhost"` //Host
- //WebPort int64 `yaml:"webport"` //port
- AllowOrigin string `yaml:"allowOrigin"` // allowOrigin
- LogLevel log.Level //logLevel
- }
- // ConfigPath 配置文件路径
- var ConfigPath = "./config.yaml"
- // ConfigGlobal 全局配置变量
- var ConfigGlobal *Config
- // DecodeConfig 解析配置
- func DecodeConfig() {
- _, err := os.Stat(ConfigPath)
- if err != nil {
- lfshook.NewLogger().Errorf("config file not exist %+v", err)
- return
- }
- fileByte, err := ioutil.ReadFile(ConfigPath)
- if err != nil {
- lfshook.NewLogger().Errorf("read config file %+v", err)
- }
- ConfigGlobal = &Config{}
- err = yaml.Unmarshal(fileByte, ConfigGlobal)
- if err != nil {
- lfshook.NewLogger().Errorf("Unmarshal config file %+v", err)
- }
- }
- // EncodeConfig 保存配置
- func EncodeConfig() error {
- out, _ := yaml.Marshal(ConfigGlobal)
- err := ioutil.WriteFile(ConfigPath, out, 0777)
- if err != nil {
- lfshook.NewLogger().Errorf("save config file %+v", err)
- }
- return err
- }
|