config.go 1.4 KB

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