package main import ( "errors" "github.com/sirupsen/logrus" "strconv" "lc/common/configor" "lc/common/protocol" "lc/common/util" ) var appConfig protocol.AppConfig var serialConfig protocol.SerialConfig func GetTopic(devType, id, topic string) string { return appConfig.Tenant + "/" + devType + "/" + id + "/" + topic } func loadAppConfig() error { var o protocol.AppConfig err := configor.Load(&o, util.GetPath(0)+"app.json") if err == nil && o.GID != "" { appConfig = o } return err } func loadSerialConfig() error { var o protocol.SerialConfig err := configor.Load(&o, util.GetPath(0)+"serial.json") if err == nil { serialConfig = o } return err } // 加载模型文件 func loadModel(tid uint16) (*protocol.IotModel, error) { var o protocol.IotModel var fname = util.GetPath(2) + strconv.Itoa(int(tid)) + ".json" err := configor.Load(&o, fname) if err != nil { return nil, err } else if o.TID == 0 { return nil, errors.New("文件不存在") } else if o.TID > 0 && tid != o.TID { return nil, errors.New("模型文件名tid和内容tid不一致") } return &o, nil } func LoadDev(code uint8) ([]protocol.DevInfo, error) { var arrDev protocol.MapDevConfig err := configor.Load(&arrDev, util.GetPath(1)+strconv.Itoa(int(code))+".json") if err != nil { logrus.Errorf("LoadDev err = :%s", err.Error()) return nil, err } return arrDev.Rtu, err }