自动化测试
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

188 lines
4.9 KiB

package mqttdisp
// import (
// "encoding/json"
// "fmt"
// "net/http"
// "strings"
// "time"
// // "usecases/usecases_server/utils/cyllib/re"
// "usecases/usecases_server/utils"
// mqtt "usecases/usecases_server/utils/cyllib/mqtt"
// "usecases/usecases_server/utils/cyllib/serial"
// "usecases/usecases_server/utils/cyllib/ssh"
// MQTT "github.com/eclipse/paho.mqtt.golang"
// "github.com/gin-gonic/gin"
// // "go.bug.st/serial"
// )
// type MqttController struct {
// }
// func (s *MqttController) GetSaveInfo(c *gin.Context) {
// msg := &gin.H{
// "user": "root",
// "password": "Pat123456",
// "host": "192.168.0.",
// }
// c.JSON(http.StatusOK, &msg)
// }
// func (s *MqttController) ConnectDev(c *gin.Context) {
// flag := false
// typ := c.Query("typ")
// data := c.Query("data")
// id := utils.GetId(c)
// msg := ssh.SSHMsg{}
// json.Unmarshal([]byte(data), &msg)
// data, _, err := ssh.SSHExeOutput("whoami", msg, true)
// if err != nil {
// fmt.Println("ssh.Dial error3:", err)
// goto Loop
// }
// data = strings.ReplaceAll(data, "\n", "")
// data = strings.ReplaceAll(data, "\r", "")
// if typ == "dev" {
// if strings.Contains(strings.ToLower(data), strings.ToLower(msg.User)) {
// flag = true
// mqtt.SetConnectMapDevice(id, msg)
// }
// } else if typ == "gateway" {
// if data == msg.User {
// flag = true
// mqtt.SetConnectMapGatway(id, msg)
// }
// }
// Loop:
// c.JSON(http.StatusOK, &gin.H{"flag": flag})
// }
// func (s *MqttController) ResetService(c *gin.Context) {
// flag := false
// typ := c.Query("typ")
// id := utils.GetId(c)
// if typ == "dev" {
// dev:=*mqtt.GetConnectMapDevice(id)
// client, _ := ssh.NewSshClient(dev)
// go func() {
// client.Run("taskkill -f /im usecases_proxy.exe")
// go client.Run("C:/1.MyFile/A_File/Go/src/4-19/usecases/usecases_proxy/usecases_proxy.exe")
// }()
// time.Sleep(time.Millisecond * 500) //等待usecases_proxy程序启动后再查询是否启动
// if utils.CheckMqttMsg(dev) {
// flag = true
// }
// client.Close()
// } else if typ == "gateway" {
// gw:=*mqtt.GetConnectMapGateway(id)
// client, _ := ssh.NewSshClient(gw)
// data, _ := client.Run("pidof usecases_proxy")
// if data != "" {
// if utils.CheckMqttMsg(gw) {
// flag = true
// }
// } else {
// go func() {
// client.Run("/gateway/usecases.sh 0")
// go client.Run("/gateway/usecases.sh 1 &")
// }()
// time.Sleep(time.Millisecond * 500) //等待usecases_proxy程序启动后再查询是否启动
// if utils.CheckMqttMsg(gw) {
// flag = true
// }
// }
// }
// c.JSON(http.StatusOK, &gin.H{"flag": flag})
// }
// func (s *MqttController) UartPorts(c *gin.Context) {
// device:=mqtt.GetConnectMapDevice(utils.GetId(c))
// var commap map[string]interface{}
// var ch = make(chan bool, 1)
// go func() {
// tim := utils.DelayOnce(time.Second, func() {
// ch <- true
// mqtt.UnSubscribe(mqtt.SubReplay)
// })
// mqtt.Subscribe(mqtt.SubReplay, func(c MQTT.Client, m MQTT.Message) {
// replay := mqtt.Mqtt_GetReplay(m)
// if replay.Name == "GetPorts" && replay.Ip == device.Host {
// commap = replay.Data.(map[string]interface{})
// ch <- true
// tim.Stop()
// mqtt.UnSubscribe(mqtt.SubReplay)
// }
// })
// }()
// port := mqtt.Message{
// Ip: device.Host,
// Name: "GetPorts",
// Data: "",
// }
// mqtt.Push(mqtt.PushInstr, port)
// <-ch
// comlist := commap["comlist"]
// chks := commap["chks"]
// c.JSON(http.StatusOK, &gin.H{"comlist": comlist, "chks": chks})
// }
// func StartStatistical(c *gin.Context) bool {
// fmt.Println("StartStatistical")
// var uartdata serial.Uart
// var ch = make(chan bool, 1)
// uartdatas := c.Query("uartdata")
// json.Unmarshal([]byte(uartdatas), &uartdata)
// id := utils.GetId(c)
// device:=mqtt.GetConnectMapDevice(id)
// gateway:=mqtt.GetConnectMapGateway(id)
// mqtt.SetConnectMapUart(id, uartdata)
// // 等待启动终端
// go func() {
// fldev, flgw := false, false
// tim := utils.DelayOnce(time.Second*2, func() {
// ch <- utils.TernaryVal(fldev && flgw, true, false).(bool)
// mqtt.UnSubscribe(mqtt.SubReplay)
// })
// mqtt.Subscribe(mqtt.SubReplay, func(c MQTT.Client, m MQTT.Message) {
// replay := mqtt.Mqtt_GetReplay(m)
// fmt.Println("1 ", replay)
// if replay.Ip == device.Host {
// fldev = (replay.Name == "success")
// } else if replay.Ip == gateway.Host {
// flgw = (replay.Name == "success")
// }
// if fldev && flgw {
// fmt.Println(fldev, flgw)
// ch <- true
// tim.Stop()
// mqtt.UnSubscribe(mqtt.SubReplay)
// }
// })
// }()
// mqtt.Push(mqtt.PushInstr, mqtt.Message{
// Ip: gateway.Host,
// Name: "Gateway",
// Data: "",
// })
// mqtt.Push(mqtt.PushInstr, mqtt.Message{
// Ip: device.Host,
// Name: "Terminal",
// Data: uartdatas,
// })
// fl := <-ch
// if !fl {
// // 这里关闭已经开启的通道
// }
// fmt.Println(fl)
// return fl
// }