| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- // 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
- }
|