zhangzengfei
2023-09-05 63645d248c765244488cd34dbc1bb6528ca6b7c7
system-service/controllers/lora.go
@@ -1,66 +1,66 @@
package controllers
import (
   "basic.com/valib/bhomeclient.git"
   "basic.com/valib/logger.git"
   "encoding/json"
   "io/ioutil"
   "os"
   "os/exec"
   "strings"
   "vamicro/extend/util"
   "vamicro/system-service/vo"
)
type LoraController struct {
}
func (lc *LoraController) GetConfig(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply  {
   r := &bhomeclient.Reply{ Success:true }
   mqttf := util.GetVamicroPath()+"/lora.config"
   if util.FileExists(mqttf) {
      b, err := ioutil.ReadFile(mqttf)
      if err == nil {
         var set vo.LoraConf
         if err = json.Unmarshal(b, &set);err == nil {
            r.Data = set
         }
      }
   }
   return r
}
func (lc *LoraController) SaveConf (h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply  {
   var reqBody vo.LoraConf
   err := c.BindJSON(&reqBody)
   if err != nil {
      return &bhomeclient.Reply{Msg: err.Error()}
   }
   b, err := json.Marshal(reqBody)
   if err != nil {
      return &bhomeclient.Reply{Msg:err.Error()}
   }
   loraf := util.GetVamicroPath()+"/lora.config"
   err = ioutil.WriteFile(loraf, b, os.ModePerm)
   if err != nil {
      return &bhomeclient.Reply{Msg:err.Error()}
   }
   var cmdArr []string
   cmdArr = append(cmdArr, "/opt/lora1303/bin/lora_config.sh")
   err = reflectObjCmd(&cmdArr, reqBody)
   if err !=nil {
      return &bhomeclient.Reply{Msg:err.Error()}
   }
   cmd := strings.Join(cmdArr, " ")
   logger.Debug("LoraConf cmd: ", cmd)
   b, e := exec.Command(cmd).Output()
   if e == nil {
      return &bhomeclient.Reply{Success:true, Msg: "配置成功"}
   }
   return &bhomeclient.Reply{ Msg:string(b) }
package controllers
import (
   "basic.com/valib/bhomeclient.git"
   "basic.com/valib/logger.git"
   "encoding/json"
   "io/ioutil"
   "os"
   "os/exec"
   "strings"
   "vamicro/extend/util"
   "vamicro/system-service/vo"
)
type LoraController struct {
}
func (lc *LoraController) GetConfig(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply  {
   r := &bhomeclient.Reply{ Success:true }
   mqttf := util.GetVamicroPath()+"/lora.config"
   if util.FileExists(mqttf) {
      b, err := ioutil.ReadFile(mqttf)
      if err == nil {
         var set vo.LoraConf
         if err = json.Unmarshal(b, &set);err == nil {
            r.Data = set
         }
      }
   }
   return r
}
func (lc *LoraController) SaveConf (h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply  {
   var reqBody vo.LoraConf
   err := c.BindJSON(&reqBody)
   if err != nil {
      return &bhomeclient.Reply{Msg: err.Error()}
   }
   b, err := json.Marshal(reqBody)
   if err != nil {
      return &bhomeclient.Reply{Msg:err.Error()}
   }
   loraf := util.GetVamicroPath()+"/lora.config"
   err = ioutil.WriteFile(loraf, b, os.ModePerm)
   if err != nil {
      return &bhomeclient.Reply{Msg:err.Error()}
   }
   var cmdArr []string
   cmdArr = append(cmdArr, "/opt/lora1303/bin/lora_config.sh")
   err = reflectObjCmd(&cmdArr, reqBody)
   if err !=nil {
      return &bhomeclient.Reply{Msg:err.Error()}
   }
   cmd := strings.Join(cmdArr, " ")
   logger.Debug("LoraConf cmd: ", cmd)
   b, e := exec.Command(cmd).Output()
   if e == nil {
      return &bhomeclient.Reply{Success:true, Msg: "配置成功"}
   }
   return &bhomeclient.Reply{ Msg:string(b) }
}