| | |
| | | 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) }
|
| | | } |