c_local.go 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package config
  2. import (
  3. "cicv-data-closedloop/common/config/c_log"
  4. "gopkg.in/yaml.v2"
  5. "os"
  6. )
  7. type node struct {
  8. Name string `yaml:"name"`
  9. Ip string `yaml:"ip"`
  10. }
  11. type restartCmd struct {
  12. Dir string `yaml:"dir"`
  13. Name string `yaml:"name"`
  14. Args []string `yaml:"args"`
  15. }
  16. type localConfig struct {
  17. Node node `yaml:"node"` // 节点信息
  18. RosparamPath string `yaml:"rosparam-path"` // 获取oss配置的url
  19. UrlGetOssConfig string `yaml:"url-get-oss-config"` // 获取oss配置的url
  20. OssBasePrefix string `yaml:"oss-base-prefix"` // 云端配置文件的位置
  21. CloudConfigFilename string `yaml:"cloud-config-filename"` // 云端配置文件名称
  22. CloudConfigLocalPath string `yaml:"cloud-config-local-path"` // 将 oss 的配置文件下载到本地的位置
  23. LocalWebsocketPort string `yaml:"local-websocket-port"` // websocket端口号
  24. RestartCmd restartCmd `yaml:"restart-cmd"` // 重启命令
  25. EquipmentNo string // 当前设备的编号
  26. SecretKey string // 当前设备的密钥
  27. }
  28. var (
  29. LocalConfig localConfig
  30. )
  31. func InitLocalConfig(localConfigPath string) {
  32. c_log.GlobalLogger.Info("初始化本地配置文件 - 开始:", localConfigPath)
  33. // 读取YAML文件内容
  34. content, err := os.ReadFile(localConfigPath)
  35. if err != nil {
  36. c_log.GlobalLogger.Error("读取本地配置文件失败。", err)
  37. os.Exit(-1)
  38. }
  39. // 解析YAML内容
  40. err = yaml.Unmarshal(content, &LocalConfig)
  41. if err != nil {
  42. c_log.GlobalLogger.Error("解析本地配置文件失败。", err)
  43. os.Exit(-1)
  44. }
  45. // history20240401:设备密钥需要获取sn码,设备编号同样。######由于执行命令需要环境变量,所以放到 c_cloud.go 中####
  46. /*
  47. # 例如,数据闭环平台参数
  48. equipment-no: pjibot-P1YNYD1M228000127
  49. secret-key: P1YNYD1M228000127
  50. */
  51. c_log.GlobalLogger.Info("初始化本地配置文件 - 成功:", LocalConfig)
  52. }