From 63645d248c765244488cd34dbc1bb6528ca6b7c7 Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期二, 05 九月 2023 09:58:13 +0800 Subject: [PATCH] 修复编译 --- system-service/controllers/wifi.go | 192 ++++++++++++++++++++++++------------------------ 1 files changed, 96 insertions(+), 96 deletions(-) diff --git a/system-service/controllers/wifi.go b/system-service/controllers/wifi.go index c327e80..be8023e 100644 --- a/system-service/controllers/wifi.go +++ b/system-service/controllers/wifi.go @@ -1,97 +1,97 @@ -package controllers - -import ( - "basic.com/valib/bhomeclient.git" - "basic.com/valib/logger.git" - "encoding/json" - "errors" - "fmt" - "io/ioutil" - "os" - "os/exec" - "reflect" - "strings" - "vamicro/extend/util" - "vamicro/system-service/vo" -) - -type WifiController struct { - -} - - -func (wc *WifiController) GetConfig(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply { - r := &bhomeclient.Reply{ Success:true } - wifif := util.GetVamicroPath()+"/wifi.config" - if util.FileExists(wifif) { - b, err := ioutil.ReadFile(wifif) - if err == nil { - var set vo.WifiConf - if err = json.Unmarshal(b, &set);err == nil { - r.Data = set - } - } - } - - return r -} - -func (wc *WifiController) SaveConf (h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply { - var reqBody vo.WifiConf - 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()} - } - - wifif := util.GetVamicroPath()+"/wifi.config" - err = ioutil.WriteFile(wifif, b, os.ModePerm) - if err != nil { - return &bhomeclient.Reply{Msg:err.Error()} - } - - var cmdArr []string - cmdArr = append(cmdArr, "/opt/hostapd/bin/wifi_config.sh") - err = reflectObjCmd(&cmdArr, reqBody) - if err !=nil { - return &bhomeclient.Reply{Msg:err.Error()} - } - - cmd := strings.Join(cmdArr, " ") - logger.Debug("WifiConf cmd: ", cmd) - - b, e := exec.Command(cmd).Output() - if e == nil { - return &bhomeclient.Reply{Success:true, Msg: "閰嶇疆鎴愬姛"} - } - - return &bhomeclient.Reply{ Msg:string(b) } -} - -//涓ユ牸鎸夌収缁撴瀯浣撶殑灞炴�ч『搴忕敓鎴恠h鍙傛暟锛岀粨鏋勪綋鐨勫弬鏁板畾涔夐『搴忎笉鑳藉彉 -func reflectObjCmd(cmdArr *[]string, d interface{}) error { - v := reflect.ValueOf(d) - for i:=0;i<v.NumField();i++ { - field := v.Field(i) - switch field.Type().Kind().String() { - case "string": - *cmdArr = append(*cmdArr, fmt.Sprintf("'%s'",field.String())) - case "int": - *cmdArr = append(*cmdArr, fmt.Sprintf("%d",field.Int())) - case "bool": - bv := 0 - if field.Bool() { - bv = 1 - } - *cmdArr = append(*cmdArr, fmt.Sprintf("%d", bv)) - default: - logger.Error("unknown field type:", field.Type().Kind().String()) - return errors.New("unknown field") - } - } - return nil +package controllers + +import ( + "basic.com/valib/bhomeclient.git" + "basic.com/valib/logger.git" + "encoding/json" + "errors" + "fmt" + "io/ioutil" + "os" + "os/exec" + "reflect" + "strings" + "vamicro/extend/util" + "vamicro/system-service/vo" +) + +type WifiController struct { + +} + + +func (wc *WifiController) GetConfig(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply { + r := &bhomeclient.Reply{ Success:true } + wifif := util.GetVamicroPath()+"/wifi.config" + if util.FileExists(wifif) { + b, err := ioutil.ReadFile(wifif) + if err == nil { + var set vo.WifiConf + if err = json.Unmarshal(b, &set);err == nil { + r.Data = set + } + } + } + + return r +} + +func (wc *WifiController) SaveConf (h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply { + var reqBody vo.WifiConf + 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()} + } + + wifif := util.GetVamicroPath()+"/wifi.config" + err = ioutil.WriteFile(wifif, b, os.ModePerm) + if err != nil { + return &bhomeclient.Reply{Msg:err.Error()} + } + + var cmdArr []string + cmdArr = append(cmdArr, "/opt/hostapd/bin/wifi_config.sh") + err = reflectObjCmd(&cmdArr, reqBody) + if err !=nil { + return &bhomeclient.Reply{Msg:err.Error()} + } + + cmd := strings.Join(cmdArr, " ") + logger.Debug("WifiConf cmd: ", cmd) + + b, e := exec.Command(cmd).Output() + if e == nil { + return &bhomeclient.Reply{Success:true, Msg: "閰嶇疆鎴愬姛"} + } + + return &bhomeclient.Reply{ Msg:string(b) } +} + +//涓ユ牸鎸夌収缁撴瀯浣撶殑灞炴�ч『搴忕敓鎴恠h鍙傛暟锛岀粨鏋勪綋鐨勫弬鏁板畾涔夐『搴忎笉鑳藉彉 +func reflectObjCmd(cmdArr *[]string, d interface{}) error { + v := reflect.ValueOf(d) + for i:=0;i<v.NumField();i++ { + field := v.Field(i) + switch field.Type().Kind().String() { + case "string": + *cmdArr = append(*cmdArr, fmt.Sprintf("'%s'",field.String())) + case "int": + *cmdArr = append(*cmdArr, fmt.Sprintf("%d",field.Int())) + case "bool": + bv := 0 + if field.Bool() { + bv = 1 + } + *cmdArr = append(*cmdArr, fmt.Sprintf("%d", bv)) + default: + logger.Error("unknown field type:", field.Type().Kind().String()) + return errors.New("unknown field") + } + } + return nil } \ No newline at end of file -- Gitblit v1.8.0