diff --git a/controller/wol_item.go b/controller/wol_item.go index ecd0027..39dd964 100644 --- a/controller/wol_item.go +++ b/controller/wol_item.go @@ -11,7 +11,7 @@ import ( "golang.org/x/net/websocket" ) -func Send_start(mac string, ws **websocket.Conn) { +func Send_start(mac string, ws **websocket.Conn, uuid string) { allNetworkInterfaces, err := net.Interfaces() if err != nil { println(err) @@ -29,30 +29,23 @@ func Send_start(mac string, ws **websocket.Conn) { } } - err = websocket.Message.Send(*ws, res.Get_res_string(200, "已经向地址发送 mac: "+mac, "", "")) + err = websocket.Message.Send(*ws, res.Get_res_string(200, "已经向地址发送 mac: "+mac, uuid, "")) if err != nil { // c.Logger().Error(err) return } } -func Getall(ws **websocket.Conn) { +func Getall(ws **websocket.Conn, uuid string) { wolarray := make([]database.Wol, 0) - // wol_item := new(wol) - // wol_item.ID = 1 - // wol_item.Name = "电脑" - // wol_item.Address = "10:7B:44:80:F4:6A" - // wol_item2 := new(wol) - // wol_item2.ID = 2 - // wol_item2.Name = "aa" - // wol_item2.Address = "10:7B:44:80:F4:6A" - // wolarray = append(wolarray, *wol_item, *wol_item2) + database.Getallwol(&wolarray) v, err := json.Marshal(wolarray) + println(v) if err != nil { fmt.Println("marshal failed!", err) return } - err = websocket.Message.Send(*ws, res.Get_res_string(200, "", "", string(v))) + err = websocket.Message.Send(*ws, res.Get_res_string(200, "", uuid, wolarray)) if err != nil { // c.Logger().Error(err) return diff --git a/database/database.go b/database/database.go index 123e91b..ec6a5cc 100644 --- a/database/database.go +++ b/database/database.go @@ -18,7 +18,7 @@ func init() { file := "./wol.db" engine, err = xorm.NewEngine("sqlite3", file) if err != nil { - panic(err) + println(err) } @@ -26,14 +26,31 @@ func init() { func CreateTable() int { err := engine.Sync2(new(Wol)) if err != nil { - panic(err) + println(err) } return 0 } func Getallwol(everyone *[]Wol) { // everyone := make([]wol, 0) - err := engine.Find(&everyone) + err := engine.Find(&(*everyone)) if err != nil { - panic(err) + println("Getallwol err", err) } } + +func Getallwoltext() { + everyone := make([]Wol, 0) + err := engine.Find(&everyone) + if err != nil { + println("Getallwoltext", err) + } + println(len(everyone)) +} + +func Insert(wol *Wol) { + affected, err := engine.Insert(&wol) + if err != nil { + println(err) + } + println(affected) +} diff --git a/go.mod b/go.mod index 8fa6d42..77da560 100644 --- a/go.mod +++ b/go.mod @@ -12,6 +12,7 @@ require ( github.com/cli/safeexec v1.0.1 // indirect github.com/cosmtrek/air v1.45.0 // indirect github.com/creack/pty v1.1.18 // indirect + github.com/dgrijalva/jwt-go v3.2.0+incompatible // indirect github.com/dustin/go-humanize v1.0.1 // indirect github.com/fatih/color v1.15.0 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect diff --git a/go.sum b/go.sum index 6eb7895..674bcea 100644 --- a/go.sum +++ b/go.sum @@ -104,6 +104,7 @@ github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/denisenkom/go-mssqldb v0.10.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= +github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= diff --git a/main.go b/main.go index b43f430..b00063d 100644 --- a/main.go +++ b/main.go @@ -69,6 +69,7 @@ func hello(c echo.Context) error { type TooLTT struct { Method string `json:"method"` Data Data `json:"data"` + Uuid string `json:"uuid"` } websocket.Handler(func(ws *websocket.Conn) { defer ws.Close() @@ -93,9 +94,9 @@ func hello(c echo.Context) error { json.Unmarshal([]byte(msg), &wsValue) switch { case wsValue.Method == "start": - controller.Send_start(wsValue.Data.Mac, &ws) + controller.Send_start(wsValue.Data.Mac, &ws, wsValue.Uuid) case wsValue.Method == "getall": - controller.Getall(&ws) + controller.Getall(&ws, wsValue.Uuid) default: fmt.Printf("error") } diff --git a/res/res.go b/res/res.go index 12ea173..8b362a8 100644 --- a/res/res.go +++ b/res/res.go @@ -5,15 +5,15 @@ import "encoding/json" type response struct { Code int Message string - Error string - Data string + Uuid string + Data interface{} `json:"data,omitempty"` } -func Get_res_string(Code int, Message string, Error string, Data string) string { +func Get_res_string(Code int, Message string, Uuid string, Data ...interface{}) string { var res = new(response) res.Code = Code res.Message = Message - res.Error = Error + res.Uuid = Uuid res.Data = Data res_str, err := json.Marshal(res) if err != nil { diff --git a/wol.db b/wol.db index c518437..70d30c6 100644 Binary files a/wol.db and b/wol.db differ