// Package fwh_xlog 设备 Xlog 调试开关(基于 fwh_mqtt 一问一答) package fwh_xlog import ( "context" "encoding/json" "fwh-toolbox-server/repositories/mqtt/fwh_mqtt" ) const ( cmdTypeXlogReq = 2000 // xlog请求 cmdTypeXlogRes = 2001 // xlog应答 xlogAddr = "18.188.130.67:9081" ) // EnableXlog 使能站点 xlog,只在生产服使用 func EnableXlog(ctx context.Context, sn string) (string, error) { client, err := fwh_mqtt.GetClient(fwh_mqtt.EnvProd) if err != nil { return "", err } msg, err := fwh_mqtt.NewEnvelope(cmdTypeXlogReq, sn, map[string]string{"xlogaddr": xlogAddr}) if err != nil { return "", err } res, err := client.Request(ctx, fwh_mqtt.RequestOpt{ Topic: fwh_mqtt.S2CTopic("debug/" + sn), Msg: msg, ResTopic: fwh_mqtt.C2STopic("debug/" + sn), Match: func(m fwh_mqtt.Message) bool { return m.Envelope.CmdType == cmdTypeXlogRes }, }) if err != nil { return "", err } b, err := json.Marshal(res.Envelope.DataArea) if err != nil { return "", err } return string(b), nil }