1 Star 0 Fork 0

王仁一/modbus-mock

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
config.go 1.43 KB
一键复制 编辑 原始数据 按行查看 历史
wangquanfu 提交于 2021-05-07 11:01 +08:00 . update model request
package main
import (
"encoding/json"
"errors"
"fmt"
"io/ioutil"
"gopkg.in/yaml.v2"
)
var (
CONFIG_PATH = "/work/config/config.yaml"
CONFIG_PREFIX = "/work/config/"
//CONFIG_PATH = "D:\\Config\\modbus\\config.yaml"
//CONFIG_PREFIX = "D:\\Config\\modbus\\"
)
type ModBusConfigError int
var (
FILE_PATH_NOEXIT = errors.New("文件地址不存在")
// modpoll port
MODPOLL_PORT uint64 = 502
// modpoll ip
MODPOLL_IP string
SERIAL_PORT string
//log enabled
LOGGER_ENABLED bool
)
func NewConfig() (*ModbusAppConfig, error) {
yamlFile, err := ioutil.ReadFile(CONFIG_PATH)
if err != nil {
return nil, fmt.Errorf("[NewConfig]->ioutil.ReadFile error,%w", err)
}
var config = &ModbusAppConfig{}
if err := yaml.Unmarshal(yamlFile, config); err != nil {
return nil, fmt.Errorf("[NewConfig]->yaml.Unmarshal error,%w", err)
}
if config.Modpoll.Port > 0 {
MODPOLL_PORT = config.Modpoll.Port
}
MODPOLL_IP = config.Modpoll.IP
SERIAL_PORT = config.Modpoll.SerialPort
LOGGER_ENABLED = config.Logger.Enabled
return config, nil
}
func ParseConfig(model interface{}, fileName string) error {
if len(fileName) == 0 {
return FILE_PATH_NOEXIT
}
yamlFile, err := ioutil.ReadFile(CONFIG_PREFIX + fileName)
if err != nil {
return fmt.Errorf("[ParseConfig]->ioutil.ReadFile error,%w", err)
}
if err := json.Unmarshal(yamlFile, model); err != nil {
return fmt.Errorf("[ParseConfig]->json.Unmarshal error,%w", err)
}
return nil
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/handshake/modbus-mock.git
git@gitee.com:handshake/modbus-mock.git
handshake
modbus-mock
modbus-mock
master

搜索帮助