config.go 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package main
  2. import (
  3. "errors"
  4. "strconv"
  5. "lc/common/configor"
  6. "lc/common/protocol"
  7. "lc/common/util"
  8. )
  9. var appConfig protocol.AppConfig
  10. var serialConfig protocol.SerialConfig
  11. func GetTopic(devtype, id, topic string) string {
  12. return appConfig.Tenant + "/" + devtype + "/" + id + "/" + topic
  13. }
  14. func loadAppConfig() error {
  15. var o protocol.AppConfig
  16. err := configor.Load(&o, util.GetPath(0)+"app.json")
  17. if err == nil && o.GID != "" {
  18. appConfig = o
  19. }
  20. return err
  21. }
  22. func loadSerialConfig() error {
  23. var o protocol.SerialConfig
  24. err := configor.Load(&o, util.GetPath(0)+"serial.json")
  25. if err == nil {
  26. serialConfig = o
  27. }
  28. return err
  29. }
  30. // 加载模型文件
  31. func loadModel(tid uint16) (*protocol.IotModel, error) {
  32. var o protocol.IotModel
  33. var fname = util.GetPath(2) + strconv.Itoa(int(tid)) + ".json"
  34. err := configor.Load(&o, fname)
  35. if err != nil {
  36. return nil, err
  37. } else if o.TID == 0 {
  38. return nil, errors.New("文件不存在")
  39. } else if o.TID > 0 && tid != o.TID {
  40. return nil, errors.New("模型文件名tid和内容tid不一致")
  41. }
  42. return &o, nil
  43. }
  44. func LoadDev(code uint8) ([]protocol.DevInfo, error) {
  45. var arrDev protocol.MapDevConfig
  46. err := configor.Load(&arrDev, util.GetPath(1)+strconv.Itoa(int(code))+".json")
  47. if err != nil {
  48. util.GetTagLog().Errorf("sys", "LoadDev err = :%s", err.Error())
  49. return nil, err
  50. }
  51. return arrDev.Rtu, err
  52. }