代码拉取完成,页面将自动刷新
package controllers
import (
"encoding/json"
"gitee.com/aywc_1/aywc_judge/src/lib"
"gitee.com/aywc_1/aywc_judge/src/mqtt2/service"
"gitee.com/aywc_1/aywc_judge/src/services"
"gitee.com/aywc_1/aywc_judge/src/utils"
"github.com/astaxie/beego/logs"
"github.com/gin-gonic/gin"
"github.com/shenyisyn/goft-gin/goft"
)
type DeviceWarmMQTTController struct {
DeviceWarmMQTTService *services.DeviceWarmMQTTService `inject:"-"`
SysConfig *goft.SysConfig `inject:"-"`
}
func NewDeviceWarmMQTTController() *DeviceWarmMQTTController {
return &DeviceWarmMQTTController{}
}
func (this *DeviceWarmMQTTController) Name() string {
return "DeviceWarmMQTTController"
}
func (this *DeviceWarmMQTTController) deviceMQTTTest(ctx *gin.Context) goft.Json {
const (
clientId = "pub-001"
// topic规则:设备编号/接口名
topicName = "device001/user"
actionNameUser = "user/detail"
)
client := lib.NewClient(clientId)
err := client.Connect()
if err != nil {
logs.Error(err.Error())
}
// 发布一个 user 消息
body := service.User{1, "小宝", 2}
msg := &lib.Message{
ClientID: clientId,
Action: actionNameUser,
Type: "json",
Time: utils.GetNowTime().Unix(),
Body: body,
}
data, _ := json.Marshal(msg)
err = client.Publish(topicName, 0, false, data)
if err != nil {
panic(err)
}
return gin.H{"result": "success", "code": 200}
}
func (this *DeviceWarmMQTTController) Build(goft *goft.Goft) {
goft.Handle("GET", "/deviceMQTTTest", this.deviceMQTTTest)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。