c_local.go 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package config
  2. import (
  3. "cicv-data-closedloop/common/config/c_log"
  4. "gopkg.in/yaml.v2"
  5. "os"
  6. )
  7. var (
  8. LocalConfig localConfig
  9. localConfigPath = "/mnt/media/sda1/cicv-data-closedloop/config/local-config.yaml"
  10. //localConfigPath = "D:\\Project\\cicv_data_closed_loop\\aarch64\\jili\\多功能车-test-local-config.yaml"
  11. //localConfigPath = "/userdata/cicv-data-closedloop/config/local-config.yaml"
  12. OssEquBasePrefix string
  13. )
  14. type node struct {
  15. Name string `yaml:"name"`
  16. Ip string `yaml:"ip"`
  17. }
  18. type restartCmd struct {
  19. Dir string `yaml:"dir"`
  20. Name string `yaml:"name"`
  21. Args []string `yaml:"args"`
  22. }
  23. type localConfig struct {
  24. Internet bool `yaml:"internet"`
  25. Node node `yaml:"node"` // 获取oss配置的url
  26. UrlGetOssConfig string `yaml:"url-get-oss-config"` // 获取oss配置的url
  27. OssBasePrefix string `yaml:"oss-base-prefix"` // 云端配置文件的位置
  28. EquipmentNo string `yaml:"equipment-no"` // 当前设备的编号
  29. CloudConfigFilename string `yaml:"cloud-config-filename"` // 云端配置文件名称
  30. CloudConfigLocalPath string `yaml:"cloud-config-local-path"` // 将 oss 的配置文件下载到本地的位置
  31. SecretKey string `yaml:"secret-key"` // 当前设备的密钥
  32. RestartCmd restartCmd `yaml:"restart-cmd"` // 重启命令
  33. }
  34. func InitLocalConfig() {
  35. c_log.GlobalLogger.Info("初始化本地配置文件 - 开始:", localConfigPath)
  36. // 读取YAML文件内容
  37. content, err := os.ReadFile(localConfigPath)
  38. if err != nil {
  39. c_log.GlobalLogger.Error("读取本地配置文件失败。", err)
  40. os.Exit(-1)
  41. }
  42. // 解析YAML内容
  43. err = yaml.Unmarshal(content, &LocalConfig)
  44. if err != nil {
  45. c_log.GlobalLogger.Error("解析本地配置文件失败。", err)
  46. os.Exit(-1)
  47. }
  48. c_log.GlobalLogger.Info("初始化本地配置文件 - 成功:", LocalConfig)
  49. OssEquBasePrefix = LocalConfig.OssBasePrefix + LocalConfig.EquipmentNo + "/"
  50. }